Створення плагіна із залежностями


21

Я намагаюся розширити функціональність іншого плагіна. Мені потрібно отримати дані з нього в масив, щоб використовувати інший спосіб, ніж оригінальний плагін. (У цьому випадку плагіни категорій та списків WPMUDev). Чи є щось у Кодексі? Як я можу створити плагін, який може використовувати інші функції плагінів? Чи можу я розширити їх і побудувати функції батьківських вузлів? Я не впевнений, що ці плагіни використовують класи або просто прямі функції.

Я просто намагаюся отримати дані з плагіна у віджет бічної панелі (в елементі параметра форми), але врешті-решт я буду використовувати це також для області вмісту, використовуючи власні шорт-коди. Поки мені просто потрібно місце, щоб почати.


4
FWIW є квиток на цю тему core.trac.wordpress.org/ticket/22316
Norcross

Відповіді:


22

Так, можна створити плагін, який розширює інший плагін. Ось кілька ідей про те, як ви можете зробити це:

  1. Плагін може налаштувати власні дії та фільтрувати гачки (використовуючи функції do_actionта apply_filterфункції) так само, як це робить ядро ​​WordPress. Якщо плагін, на який ви орієнтуєтесь, робить це, ви можете використовувати ці гачки для зміни функціональності.

  2. Якщо плагін використовує об'єктно-орієнтовану структуру, ви можете розширити класи та побудувати на оригінальному плагіні.

  3. Ви можете прочитати дані, що зберігаються в базі даних, за оригінальним плагіном і використовувати їх у своєму коді плагіна.

  4. Ви можете зателефонувати на будь-яку функцію з оригінального плагіна, який вам подобається, після того, як ви перевірили, що плагін активний та завантажений (див. Нижче). Просто пам’ятайте про будь-які ефекти, які може мати функція, окрім повернутого значення.

Вам потрібно буде перевірити, чи активовано цей оригінальний плагін чи ні. Ви можете використовувати is_plugin_activeфункцію; однак це працює лише на сторінках адміністратора. Крім того, ви можете скористатися function_existsабо class_existsперевірити, чи доступна певна функція або клас з оригінального плагіна, що скаже вам, що він працює.

Пам’ятайте, що щоразу, коли оригінальний плагін оновлюється, вам потрібно протестувати свій плагін за допомогою нової версії, щоб знайти щось нове, що могло б суперечити вашому плагіну.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.