Дочерние плагины – миф или реальность?

Сразу отметим: официального способа создания дочерних плагинов в WordPress нет, однако эта тема активно обсуждается в сообществе уже на протяжении нескольких лет. Я решил обратиться к Иэну Данну, который представил эту идею еще три года назад, чтобы понять – есть ли сегодня у нее какие-то перспективы и преимущества?

«С архитектурной точки зрения создание дочерних плагинов — не слишком удобная затея. Такой подход прекрасно показал себя с темами, поскольку у них есть достаточно ограниченный, определенный набор поведений, чего нельзя сказать о плагинах»

Иэн недавно опубликовал пост, в котором он раскрыл основные аспекты изменения плагинов. Первое, что он предложил – это обратиться к авторам плагина и описать им, какие изменения вы хотели бы видеть.

Если такой подход не сработает, то тогда можно расширить плагин, не меняя его ядро. Самый простой способ сделать это заключается в создании функционального плагина, который будет работать вместе с основным плагином. Для более детального управления активацией функционального плагина вы можете воспользоваться Plugin Dependencies от Scribu. Суть Plugin Dependencies заключается в следующем: если родительский плагин деактивирован, то все плагины, зависящие от него, будут также деактивированы.

PluginDependenciesInAction

С помощью хуков можно также взаимодействовать с определенными участками кода, менять их по своему усмотрению. Если плагин, который вы хотите изменить, предлагает хуки, то вы можете использовать их для расширения функционала плагина. Как отметил Иэн, если разработчик добавил хуки, то вы можете просто написать отдельный плагин, который будет запускаться вместе с основным плагином и содержать в себе callback-и для произвольных хуков.

CodeSnippetsInAction

Code Snippets от Ши Банджа – прекрасный способ управлять фрагментами кода для расширения плагинов. Code Snippets предлагает графический интерфейс, который позволяет создавать и управлять фрагментами кода. Фрагменты выполняются так, будто они расположены в пределах файла functions.php темы. С помощью этого решения вы можете заполнить functions.php сотнями строк дополнительного кода. Использование Code Snippets для расширения плагинов вместо файла functions.php препятствует потере изменений, что обычно происходит при переключении на другую тему.

Заключение

Мантра о том, что не стоит никогда редактировать базовые файлы WordPress, должна выполняться и для плагинов с темами. Расширение или удаление функциональности исчезает после первого же обновления. Помещение фрагментов кода в файл functions.php темы не сильно одобряется сообществом и разработчиками. Вместо этого лучше всего использовать функциональный плагин или Code Snippets для управления фрагментами кода. Авторы плагинов часто добавляют хуки в свои плагины, с которыми можно легко сцепляться.

Источник: wptavern.com

Блог про WordPress
Добавить комментарий

Получать новые комментарии по электронной почте.