Intereting Posts
Пользовательская страница администратора post.php Commentform – недопустимые поля Hightlight вместо запроса страницы с ошибкой Панель администратора: нажатие на следующую запись возвращает ERR_NAME_NOT_RESOLVED WordPress Media Library показывает неправильный размер предварительного просмотра? Как регистрировать и размещать файлы JavaScript без нарушения зависимостей плагина? Ограничить контент на основе продукта покупки woocommerce Ограничьте поле поиска, чтобы просто выполнить поиск настраиваемого типа сообщений с настраиваемыми полями Получите определенное изображение из галереи сообщений, связанной с post_id Пустой администратор / панель управления WordPress (ожидается 7 обновлений) Изменить URL-адрес панели мониторинга Автоматически создавать набор сообщений по умолчанию для каждого нового зарегистрированного пользователя Как установить страницу по умолчанию в WordPress? Должен ли я использовать include или load_template для включения коротких кодов, плагинов и т. Д.? Отображение сообщений из пользовательской категории Отдельная папка Uploads на другом сервере

как создать дочерний плагин WordPress

Мне нравится создавать дочерний плагин ..

Объяснение: –

У меня есть один родительский плагин с именем X. Это будет работать независимо (как и другие существующие плагины).

Теперь я решил добавить некоторые дополнительные функции к этому плагину X (подумайте об этом как об обновлении). Поэтому я хочу создать дополнительные функции с помощью другого плагина Y, который будет зависеть от (и наследовать от) X.
Этот плагин Y не будет работать с плагином X.

Как я могу это сделать?

Лучший способ сделать это – создать свой X-плагин со своими собственными крючками для действий и фильтров, чтобы новые плагины (в вашем случае Y) могли взаимодействовать с функциями и данными плагина X. Определение ваших собственных крючков довольно просто и просто.

Крючок действия

из кода:

Действия – это крючки, которые запускает ядро ​​WordPress в определенных точках во время выполнения или когда происходят определенные события. Ваш плагин может указать, что одна или несколько его функций PHP выполняются в этих точках, используя Action API.

пример нового крючка действия:

Function whatever(){ //regular stuff you do normally do_action('Name-Of-Your-Action-hook', $args1,$args2) //regular stuff you do normally } 

Теперь мы можем взаимодействовать с этой функцией и использовать ее аргументы ($ args1, $ args2), используя «Name-Of-Your_hook» hook

 add_action('Name-Of-Your-Action-hook','hook_function_callback'); 

Фильтрующий крючок

из кода:

Фильтры – это крючки, которые WordPress запускает для изменения текста различных типов, прежде чем добавлять его в базу данных или отправлять на экран браузера. В вашем плагине можно указать, что одна или несколько его функций PHP выполняются для изменения определенных типов текста в это время, используя API фильтра.

пример нового крючка фильтра:

 Function whatever(){ //regular stuff you do normally $output = apply_filters('Name-Of-Your-Filter-hook', $output,$args1,$args2) //regular stuff you do normally } 

Теперь мы можем взаимодействовать с этой функцией, фильтровать использование $ output и его аргументы ($ args1, $ args2), используя крючок «Name-Of-Your-Filter-hook»

 add_filter('Name-Of-Your_hook','hook_function_callback'); 

Хорошим примером тому будет контактная форма 7

  • Контактная форма 7 – Монитор кампании Addon
  • Контактная форма 7 Динамическое расширение текста
  • Контактная форма 7 Календарь
  • Контактная форма 7 Textarea Wordcount
  • Контактная форма 7 Customfield в почте
  • Контактная форма 7 для расширения базы данных

и многие другие, которые все (большинство) являются плагинами, расширяющими функциональность контактной формы 7 на основе ее перехватов.

Сделайте несколько крючков в своем родительском плагине, к которому дочерний плагин может присоединить свою собственную функцию. Также оберните дочерний плагин if(function_exists('parent-plugin-function')) или class_exists если это класс.