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

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

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

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

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

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

6 голосов | спросил Gowri 19 MarpmSat, 19 Mar 2011 13:19:10 +03002011-03-19T13:19:10+03:0001 2011, 13:19:10

2 ответа


17

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

Action Hook

из кода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');

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

из кодаx:

  

Фильтры - это крючки, которые 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 - Монитор кампании Аддон
  • Форма контакта 7 Расширение динамического текста
  • Контактная форма 7 Календарь
  • Контактная форма 7 Textarea Wordcount
  • Форма контакта 7 Пользовательское поле в почте
  • Форма контакта 7 для расширения базы данных

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

ответил Bainternet 19 MarpmSat, 19 Mar 2011 14:23:10 +03002011-03-19T14:23:10+03:0002 2011, 14:23:10
7

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

ответил Ashfame 19 MarpmSat, 19 Mar 2011 14:22:14 +03002011-03-19T14:22:14+03:0002 2011, 14:22:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132