Хукі в WordPress - розбираємо хуки у плагіні на простому прикладі
Уроки розробки з власного досвіду
Хуки в WordPress
Автор: Николаенко Максим · Написано Листопад 10, 2012 · Оновлено Серпень 8, 2018
Зараз ми вставили той мінімум, який потрібен для встановлення та активації плагіна, далі часто після розробки необхідно подумати про ліцензію на нього. Багато розробників використовують ліцензіюGPL або подібну до неї. Для опису ліцензії додаємо наступні рядки у файл плагіна:
Переходимо до програмування плагінів та основних важливих понять.
Розглянемо основну концепцію розробки плагінів, яка працює на основі зачіпок або ще їх називають хуками (hook ). Принцип дії хуків дуже простий, кожна з елементарних функційWordPress перед тим як повернути якийсь результат своєї роботи або зробити якусь важливу дію (запит до бази даних, обробка даних, виведення на екран) намагається використовувати додаткові рядки коду, призначені для неї у файлах плагінів.
Приклад використання хуків у WordPress
Перед тим, якWordPress додає заголовок до запису, спочатку він перевіряє, чи має якийсь плагін зареєстровані функції для зачіпки під назвою «the_title ».
Приклад використання такої зачіпки у плагіні WordPress
Текст заголовка перед виведенням буде пропущено через спеціальну функціюmy_own_function_for_title() вказану у файлі плагіна або у файліfunction.php, після чого буде виведено результат.
Приклад роботи функцією my_own_function_for_title()
Якщо вам знадобиться до заголовка додати деяку інформацію або змінити його в ньому, повинна бути зареєстрована зачіпка-фільтр для «the_title » і в ньому вказана функція,яка робить всі необхідні зміни із заголовками.
Перші зачіпкифільтри (filters) дійсно призначені для «фільтрування »(зміни) будь-яких даних, перш ніж вони будуть виведені на сторінці або додані для зберігання до бази даних. Це фільтрація спаму, помилок або просто помилкового введення у формах.
Другі (дії, actions ) призначені для заміни різних дій ядра на ваші дії (наприклад, зміни рядка запиту до бази даних), у програмуванні таку зміну дій базового функціоналу ще називаютьперевантаженням.
УWordPress є свійAPI по роботі з плагінами та ряд готових зачіпок. Про всі стандартні зачіпки можна почитати в офіційній документації WordPress Plugin API правда поки що англійською. Причому якщо ви знайшли місце, де такий хук просто необхідний, то можна запропонувати його і про те як це зробити написано тут.