Как создать простой плагин WordPress

  1. Главная
  2. Блог
  3. WordPress
  4. Как создать простой плагин WordPress

Это гайд о том, как создать простой плагин для 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. Для начинающих разобраться с ним будет сложно, особенно в его исходниках. Но даже просто изучив структуру файлов, папок и их названий, вам уже будет проще разработать структуру для своего решения.

Успехов! 🙂