Плагины WordPress — это расширения, которые добавляют новые функции и возможности вашему сайту. Они позволяют вам легко и без особых знаний программирования расширить функционал вашего сайта. В этой статье я покажу как разработать плагин для WordPress. Для этого вам нужно иметь навыки в PHP и WordPress Codex, но если вы только начинающий, не переживайте, видеоформат поможет вам быстрее вникнуть в эту тему.
Серия видео-уроков: Как разработать плагин для WordPress:
Исходный код плагина, который разрабатываем в данных видео уроках можно найти на GitHub репозитории. В первом уроке вы узнаете как создать структуру для плагина на WordPress.
Во втором уроке я показал как разработать систему шаблонов в рамках плагина на WordPress.
В третьем уроке я показал как работать с метабоксами, как их создавать и сохранять их значение на территории плагинов в WordPress.
Структура и иерархия файлов
Создайте папку с названием вашего плагина в директории /wp-content/plugins/
. Внутри этой папки создайте файл plugin.php
. Если ваш плагина называется AleBooking, то папка плагина должна называться /wp-content/plugins/alebooking/
и в ней должен быть файл alebooking.php
, именно его будет искать WordPress в первую очередь. Остальную иерархию файлов внутри каталога с плагином можно адаптировать под себя и использовать то, к чему вы привыкли.
Заголовок плагина
В файле
добавьте комментарий с описанием плагина, этот комментарий важен поскольку содержит мета данные которые используются WordPress. Данный комментарий еще называется «Заголовок Плагина» — это важный блок информации, который WordPress использует для отображения информации о вашем плагине в панели управления. Он также используется поисковыми системами для индексации вашего плагина.alebooking
.php
В комментарии укажите следующую информацию:
Plugin Name
: Название вашего плагина.Plugin URI
: URL-адрес веб-сайта вашего плагина (или вашего профиля, если у вас нет веб-сайта).Description
: Краткое описание вашего плагина.Author
: Ваше имя.Author URI
: URL-адрес вашего веб-сайта (или вашего профиля, если у вас нет веб-сайта).Version
: Номер версии вашего плагина.License
: Лицензия вашего плагина.
/*
Plugin Name: AleBooking
Plugin URI: http://aletheme.com
Description: Наш первый плагин по бронированнию.
Version: 1.0
Author: CRIK0VA
Author URI: http://aletheme.com
License: GPLv2 or later
Text Domain: alebooking
*/
Функции активации и деактивации
Функция активации — это функция, которая выполняется при активации вашего плагина. Она используется для выполнения действий, необходимых для инициализации плагина. Так же доступно выполнение ряда действий и при деактивации плагина.
Внутри функций добавьте ваш код, который необходимо выполнить при активации и деактивации плагина.
// Активация плагина
register_activation_hook(__FILE__, 'genius_plugin_activate');
function genius_plugin_activate() {
// Добавьте здесь код, который выполнится при активации плагина
// Например, создание таблицы в базе данных
}
// Деактивация плагина
register_deactivation_hook(__FILE__, 'genius_plugin_deactivate');
function genius_plugin_deactivate() {
// Добавьте здесь код, который выполнится при деактивации плагина
// Например, удаление созданных ранее таблиц или очистка данных
}
Добавление стилей и скриптов для плагина
Если ваш плагин требует использования стилей и скриптов, вы можете добавить их следующим образом:
function genius_custom_scripts() {
wp_enqueue_style('genius-custom-style', plugins_url('css/style.css', __FILE__));
wp_enqueue_script('genius-custom-script', plugins_url('js/script.js', __FILE__), array('jquery'), '1.0', true);
}
add_action('wp_enqueue_scripts', 'genius_custom_scripts');
Добавление базовой функциональности
Давайте добавим простую функцию, которая выводит сообщение на странице администратора.
function genius_custom_function() {
echo '<div class="updated"><p>Привет, мир! Это мой первый плагин.</p></div>';
}
add_action('admin_notices', 'genius_custom_function');
Добавление настроек в админ-панели
Плагины часто имеют свои собственные настройки. Давайте добавим страницу настроек в админ-панель.
// Добавление настроек в админ-панели
function genius_plugin_menu() {
add_menu_page('Настройки Моего Плагина', 'Мой Плагин', 'manage_options', 'genius-plugin-settings', 'genius_plugin_page');
}
function genius_plugin_page() {
// Здесь разместите HTML-код для страницы настроек
echo '<div class="wrap"><h2>Настройки Моего Плагина</h2>';
// Сохранение настроек
if(isset($_POST['my_plugin_submit'])){
$my_option_value = sanitize_text_field($_POST['my_option']);
update_option('my_option', $my_option_value);
echo '<div id="message" class="updated"><p>Настройки сохранены успешно!</p></div>';
}
// Получение текущего значения опции
$current_value = get_option('my_option', '');
echo '<form method="post" action="">';
echo '<label for="my_option">Моя настройка:</label>';
echo '<input type="text" id="my_option" name="my_option" value="' . esc_attr($current_value) . '">';
echo '<input type="submit" name="my_plugin_submit" class="button button-primary" value="Сохранить">';
echo '</form>';
echo '</div>';
}
add_action('admin_menu', 'genius_plugin_menu');
Теперь в разделе «Настройки Моего Плагина» появилась простая форма для ввода и сохранения пользовательских настроек. Значение сохраняется в опции WordPress с именем my_option
.
Заключение. Как разработать плагин для WordPress
В данной серии видео-уроков «Как разработать плагин для WordPress«, мы изучили основные этапы создания собственного плагина, предоставляющего уникальные функции для вашего сайта. Мы начали с формирования структуры файлов и папок, необходимой для правильной работы WordPress, затем определили важные мета-данные в заголовке плагина, такие как название, описание и версия.
Далее мы рассмотрели функции активации и деактивации, добавление стилей и скриптов, а также базовую функциональность. Завершили мы этот процесс созданием страницы настроек в админ-панели для более гибкой настройки плагина. Более подробно о разработке под WordPress вы узнаете в нашем Клубе или в моих курсах на Udemy.