Основы плагинов. Руководство разработчика плагинов для WordPress (часть 3) 05 Марта 2018

Основы плагинов. Руководство разработчика плагинов для WordPress (часть 3)

Основы плагинов

Начало работы

В простейшем случае, плагин WordPress— это PHP-файл с заголовком плагина WordPress, заключенном в комментарии. Очень рекомендуется создать папку для вашего плагина для того, чтобы все файлы вашего плагина были организованно расположены в одном месте. Для начала создания нового плагина, следуйте нижеописанным шагам.
  1. Войдите в папку wp-content установленного WordPress.
  2. Откройте папку plugins.
  3. Создайте новую папку и задайте ей имя вашего плагина (например, plugin-name).
  4. Откройте папку нового плагина.
  5. Создайте новый PHP-файл (было бы неплохо назвать этот файл также, как и ваш плагин, например plugin-name.php).
А вот так этот процесс выглядит в командной строке Unix:
wordpress$
cd wp-content wp-content$
cd plugins plugins$
mkdir plugin-name plugins$
cd plugin-name plugin-name$
vi plugin-name.php
В примере выше «vi» - это имя текстового редактора. Используйте тот редактор, который удобен для вас. А теперь пока вы редактируете PHP-файл вашего нового плагина, вам понадобится добавить заголовочный комментарий для него. Это специальным образом форматированный блок комментария на языке PHP, который содержит метаданные вашего плагина, такие как название плагина и имя автора. По минимуму заголовочный комментарий должен содержать название вашего плагина. Только один файл с папке вашего плагина должен иметь заголовочный комментарий — если ваш плагин имеет множество PHP-файлов, то только один из этих файлов должен иметь такой комментарий.
<?php /* Plugin Name: YOUR PLUGIN NAME */ 
После сохранения этого файла, у вас появляется возможность увидеть ваш плагин на вашем WordPress сайте. Залогиньтесь на вашем WordPress сайте и в консоли WordPress в левой навигационной панели нажмите Плагины. Эта страница отображает список всех плагинов, который имеются на вашем WordPress сайте. Ваш новый плагин должен быть теперь в этом списке!

Зацепки: Действия и фильтры

Зацепки WordPress позволяют вам использовать WordPress в специфических точках для изменения поведения WordPress без редактирования файлов ядра. Существуют два типа зацепок в WordPress: действия и фильтры. Действия позволяют вам добавлять или изменять функциональность WordPress, в то время как фильтры позволяют вам изменять то, как загружается и отображается контент для пользователя веб-сайта. Зацепки предназначены не только для разработчиков плагинов, они интенсивно используются для предоставления функциональности для самого ядра WordPress. Другие зацепки являются неиспользуемыми «заглушками», которые просто доступны вам для использования, когда вам необходимо изменить то, как работает WordPress. Это то, что делает WordPress таким гибким.

Базовые зацепки

Три базовые зацепки, которые вам будут необходимы во время создания плагина: register_activation_hook(),register_deactivation_hook и register_uninstall_hook(). activation_hook запускается, когда вы активируете ваш плагин. Вам следует использовать эту зацепку для предоставления функции, подключаемой к вашему плагину, например, для создания некоторых настроек по умолчанию в таблице options. deactivation_hook запускается тогда, когда вы деактивируете ваш плагин. Вам следует использовать эту зацепку для предоставления функции, которая очищает любые временные данные, сохраненные вашим плагином. Эти методы деинсталляции используются для очистки после того, как ваш плагин был удален, используя консоль WordPress. Вам следует использовать это для удаления всех данных, созданных вашим плагином, таких как, любых опций, которые были добавлены в таблицу options.

Добавление зацепок

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

Удаление зацепок

Вы можете также использовать вызов remove_action() для удаления функции, которая была определена ранее. Например, если ваш плагин является дополнением к другому плагину, вы можете использовать remove_action() с той же самой функцией обратного вызова, которая была добавлена предыдущим плагином с помощью add_action(). Приоритет действий важен в данных ситуациях, as remove_action() следует запускать после add_action(). Вам следует быть осторожными, когда вы удаляете действие из зацепки, также как, когда вы изменяете приоритеты, поскольку это может быть трудным увидеть то, как эти изменения будут влиять на другие interactions с той же самой зацепкой. Вы настоятельно рекомендуем проводить тестирование чаще. Вы можете изучить больше о создании зацепок и взаимодействии с ними в разделе Зацепки данного руководства.

API Wordpress

Знали ли вы, что WordPress предоставляет большое количество API? Эти API могут серьезно упрощать код, который вам необходимо написать в вашем плагине. Вы не нужно изобретать заново колесо, особенно когда так много людей выполнили большое количество работы и тестирования за вас. Самое common API — это API настроек, которое упрощает сохранение данные в базе данных для вашего плагина. Если вы думаете использовать cURL в вашем плагине, HTTP API может быть интересно для вас. Поскольку мы говорим о плагинам, вам следовало бы изучить API плагинов. Он содержит большое количество функций, которые будут помогать вам в разработке плагинов.

Как WordPress загружает плагины

Когда WordPress загружает список установленных плагинов на страницу плагинов в консоли WordPress, он ищет в папке plugins (и его подпапках) PHP файлы с заголовочными комментариями. Если весь ваш плагин состоит только из одного PHP файла, как Hello Dolly, этот файл может быть расположен прямо внутри корневой папки plugins. Но чаще файлы плагина будут расположены в своей собственной папке с тем же именем, что и сам плагин.

Совместное использование вашего плагина

Иногда плагин, который вы создаете, предназначен только для вашего сайта. Но многие люди любят делиться своими плагинам с остальным сообществом WordPress. Перед тем как делиться вашим плагином, вам необходимо сделать одну вещь — выбрать лицензию. Это позволяет пользователю вашего плагина узнать, как ему позволено использовать ваш код. Для maintain совместимости с ядром WordPress, рекомендуется помещать лицензию, которая совместима с GNU General Public License (GPLv2+).