
Свиня в WordPress
Продовжуючи серію статей, за написанням плагінів для WordPress хочу показати ще кілька корисних фрагментів коду.
Починаємо, як і в попередніх статтях. Створюємо файл у папці з плагінами і називаємо його mytestplugin.php. У створений файл додаємо код :
1 2 3 4 5 6 7 8 9 10 | <?php /* Plugin Name: Название плагина Plugin URI: https://страница_с_описанием_плагина_и_его_обновлений Description: Краткое описание плагина. Version: Номер версии плагина, например: 1.0 Author: Имя автора плагина Author URI: https://страница_автора_плагина */ ?> |
Нині ми вставили той мінімум, який потрібен для інсталяції та активації плагіна, далі часто після розробки необхідно подумати про ліцензію на нього. Багато розробників використовують ліцензію GPL або подібну до неї. Для опису ліцензії додаємо наступні рядки у файл плагіна:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php /* Copyright ГОД ИМЯ_АВТОРА_ПЛАГИНА (email: E-MAIL_АВТОРА) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ?> |
Переходимо до програмування плагінів та основних важливих понять.
Розглянемо основну концепцію розробки плагінів, яка працює на основі зачіпок або їх ще називають хуками (hook). Принцип дії хуків дуже простий, кожна з елементарних функцій WordPress перед тим як повернути якийсь результат своєї роботи або зробити якусь важливу дію (запит до бази даних, обробка даних, виведення на екран), намагається використовувати додаткові рядки коду, призначені для неї у файлах плагінів..
Приклад використання хуків у WordPress
1 2 3 4 5 6 7 | <?php function get_the_title( $id = 0 ) { … … return apply_filters( 'the_title', $title, $post->ID ); //Пример зацепки для функции get_the_title(); } ?> |
Приклад використання такої зачіпки у плагіні WordPress
1 2 3 4 5 | <?php … add_filter( 'the_title', 'my_own_function_for_title' ); //Так выглядит регистрация в файле плагина новой функции my_own_function_for_title(); с дополнительным инструкциями для зацепки 'the_title'. … ?> |
Приклад роботи функцією my_own_function_for_title()
1 2 3 4 5 6 7 8 9 10 | <?php … /* Так в плагине может выглядеть функция, изменяющая заголовки Wordpress. В данном случае она заставляет выводить каждое слово заголовка с большой буквы. */ my_own_function_for_title( $title ){ $title = ucwords($title); return $title; } … ?> |
Всі зачіпки в WordPress поділяються на дві категорії - Фільтри та Дії. (filters та actions відповідно).
Перші зачіпки фільтри (filters) дійсно призначені для «фільтрування» (зміни) будь-яких даних, перед тим, як вони будуть виведені на сторінці або додані для зберігання до бази даних. Це фільтрація спаму, помилок або просто помилкового введення у формах.
Другі (дії, actions) призначені для заміни різних дій ядра вашими діями (наприклад, зміни рядка запиту до бази даних), у програмуванні таку зміну дій базового функціоналу ще називають перевантаженням.
У WordPress є свій API по роботі з плагінами та ряд готових зачіпок. Про всі стандартні зачіпки можна почитати в офіційній документації WordPress Plugin API правда поки що англійською. Причому, якщо ви знайшли місце, де такий хук просто необхідний, то можна його запропонувати і про те, як це зробити написано тут.
Інформація взята з офіційної документації та трохи оброблена мною ). Успіхів у розробці власних плагінів на WordPress. Слідкуйте за новими статтями.

/*

- Базовий курс з веб-дизайну;
- Верстка сайтів;
- Загальний курс CMS WordPress та продовження курсу з розробки шаблонів;
- Розробка сайтів на PHP.