Это гайд о том, как создать простой плагин для WordPress. Здесь мы не будем погружаться в детали и разбирать все подробности и особенности разработки плагинов, а создадим максимально простое решение, в котором можно будет писать рабочий код за пределами активной темы.
Введение
Создание своего плагина полезно, когда по каким-то причинам вы не можете создать дочернюю тему, а работать в активной нельзя. Например это актуально, когда ваш сайт полностью настроен и работает на плагине Elementor. В этом случае переключение на дочернюю тему может сбросить ваши настройки.
Создание
Переходим из корня сайта в директорию /wp-content/plugins/ и создаем папку. Я назову папку feodoraxis-awesome-plugin:

По моим наблюдениям, в каждой папке в WordPress нужно создавать файл index.php. Возможно, это правило хорошего тона, но т.к. мы создаем плагин для себя — то, считаю, что это правило можно проигнорировать.
Теперь в этой папке создадим файл feodoraxis-awesome-plugin.php, откроем его в редакторе кода и наполним:
<?php
/**
* Plugin Name: Feodoraxis awesome plugin
* Description: Плагин для доработок сайта вне темы
* Author URI: feodoraxis.ru
* Author: Feodoraxis
* Version: 1.0
*/
С помощью комментария в начале мы декларируем плагин для WordPress — т.е. система считывает из него информацию, которую мы укажем.
Рассмотрим параметры, указанные в комментарии:
- Plugin name — название плагина, которое увидит пользователь. Можно указать на русском
- Description — краткое описание плагина
- Author URI — ссылка на страницу автора плагина. Это может быть ваш сайт или страница в соц. сетях
- Author — имя или ник автора
- Version — версия плагина
Можно указать другие параметры дополнительно. Узнать о них можно тут — https://codex.wordpress.org/Написание_плагина
Далее нужно защитить файл от прямого открытия из интернета. Для этого добавим в файл плагина следующий код, который идет сразу за декларирующим комментарием:
<?php
// Защитим файл от прямого открытия
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
Теперь файл плагина защищён. А иначе файл можно было-бы открыть и исполнить просто перейдя по прямой ссылке к нему.
В итоге у вас должен получиться такой код в файле плагина:
<?php
/**
* Plugin Name: Feodoraxis awesome plugin
* Description: Плагин для доработок сайта вне темы
* Author URI: feodoraxis.ru
* Author: Feodoraxis
* Version: 1.0
*/
// Защитим файл от прямого открытия
if ( ! defined( 'ABSPATH' ) ) {
exit;
}
Ура! Плагин готов!
Активация и работа с плагином
Если вы все сделали правильно, то перейдя в админке в раздел «Плагины», вы увидите созданный нами плагин в списке. Как только вы его активируете, то этот файл начнёт исполняться вместе с кодом, написанным в нём.
Сейчас этот плагин ничего не делает. Но вы можете писать в этом файле такой-же код как в файле functions.php вашей активной темы. Но есть нюансы. Например, в плагинах функция get_template_part() не работает. В остальном вы можете создавать свои функции, классы, шорткоды, блоки гутенберг, хуки, использовать хуки других плагинов, вашей активной темы и ядра WordPress для работы.
О хуках можно почитать в этой статье.
Рекомендации
Если вы создаете что-то сложнее чем на 100 строк, то рекомендую разделять плагин на разные файлы и подключать их к основному для удобной разработки и поддержки решения.
По структуре строгих ограничений для плагинов я не видел. Но есть стартер для создания плагина, который мне очень понравился и я рекомендую создавать структуру вашего плагина по его примеру — https://github.com/DevinVinson/WordPress-Plugin-Boilerplate. Для начинающих разобраться с ним будет сложно, особенно в его исходниках. Но даже просто изучив структуру файлов, папок и их названий, вам уже будет проще разработать структуру для своего решения.
Успехов! 🙂