Создание собственного плагина для WordPress — важный навык для любого разработчика, который хочет расширять функциональность сайта без зависимости от сторонних решений. Особенно полезно уметь создавать плагины с собственными настройками, доступными из админки. В этой статье мы подробно разберём, как сделать такой плагин с нуля, используя правильные хуки и API WordPress.
Почему стоит создавать свой плагин с настройками
Часто готовые плагины не позволяют гибко настроить функциональность под ваши нужды. Создавая свой плагин, вы получаете полный контроль над кодом и интерфейсом настроек. Это помогает:
- Избежать лишнего кода и нагрузки на сайт.
- Оптимизировать функциональность под конкретные задачи.
- Обеспечить удобство управления для администраторов.
Кроме того, плагин с настройками удобно обновлять и переносить между сайтами.
Основные этапы создания плагина с настройками
Создадим простой плагин, который выводит в футере сайта текст из настроек. Для этого нам нужно:
- Создать структуру плагина и основной файл.
- Зарегистрировать страницу настроек в админ-панели.
- Создать поля настроек и сохранить их.
- Вывести данные на сайте.
1. Структура плагина и основной файл
Создайте папку wpkit-simple-footer-text в каталоге wp-content/plugins. Внутри создайте файл wpkit-simple-footer-text.php с таким содержимым:
<?php
/**
* Plugin Name: WPKit Simple Footer Text
* Description: Пример простого плагина с настройками для вывода текста в футере.
* Version: 1.0
* Author: WPKit
*/
// Защита от прямого доступа
if (!defined('ABSPATH')) {
exit;
}
2. Регистрация страницы настроек
Используем хук admin_menu, чтобы добавить пункт меню в админке:
add_action('admin_menu', 'wpkit_simple_footer_text_admin_menu');
function wpkit_simple_footer_text_admin_menu() {
add_options_page(
'Настройки Footer Text',
'Footer Text',
'manage_options',
'wpkit-simple-footer-text',
'wpkit_simple_footer_text_options_page'
);
}
Эта функция добавит страницу настроек в раздел «Настройки».
3. Создание настроек и полей
Для создания и сохранения настроек используем Settings API. Зарегистрируем настройку и поле:
add_action('admin_init', 'wpkit_simple_footer_text_settings');
function wpkit_simple_footer_text_settings() {
register_setting('wpkit_footer_text_group', 'wpkit_footer_text_option');
add_settings_section(
'wpkit_footer_text_section',
'Основные настройки',
'wpkit_footer_text_section_callback',
'wpkit-simple-footer-text'
);
add_settings_field(
'wpkit_footer_text_field',
'Текст в футере',
'wpkit_footer_text_field_callback',
'wpkit-simple-footer-text',
'wpkit_footer_text_section'
);
}
function wpkit_footer_text_section_callback() {
echo '<p>Введите текст, который будет отображаться в футере сайта.</p>';
}
function wpkit_footer_text_field_callback() {
$value = get_option('wpkit_footer_text_option', '');
echo '<input type="text" name="wpkit_footer_text_option" value="' . esc_attr($value) . '" style="width:100%;"/>';
}
4. Вывод текста в футере сайта
Подключимся к хуку wp_footer и выведем сохранённый текст:
add_action('wp_footer', 'wpkit_simple_footer_text_display');
function wpkit_simple_footer_text_display() {
$text = get_option('wpkit_footer_text_option', '');
if (!empty($text)) {
echo '<div style="text-align:center; padding:10px; background:#f0f0f0;">' . esc_html($text) . '</div>';
}
}
Тестирование и отладка плагина
После создания всех функций активируйте плагин в админке WordPress. Зайдите в меню Настройки > Footer Text, введите любой текст и сохраните. На фронтенде сайта в футере должен появиться введённый текст.
Если текст не отображается, проверьте, активен ли плагин и нет ли конфликтов с другими плагинами или темой. Для отладки можно использовать функцию error_log или плагин Debug Bar.
Расширение плагина: добавление цветовой настройки
Чтобы сделать плагин более гибким, добавим в настройки выбор цвета текста. Для этого добавим новое поле в wpkit_simple_footer_text_settings:
register_setting('wpkit_footer_text_group', 'wpkit_footer_text_color_option');
add_settings_field(
'wpkit_footer_text_color_field',
'Цвет текста',
'wpkit_footer_text_color_field_callback',
'wpkit-simple-footer-text',
'wpkit_footer_text_section'
);
function wpkit_footer_text_color_field_callback() {
$color = get_option('wpkit_footer_text_color_option', '#000000');
echo '<input type="color" name="wpkit_footer_text_color_option" value="' . esc_attr($color) . '" />';
}
И изменим функцию вывода, чтобы использовать выбранный цвет:
add_action('wp_footer', 'wpkit_simple_footer_text_display');
function wpkit_simple_footer_text_display() {
$text = get_option('wpkit_footer_text_option', '');
$color = get_option('wpkit_footer_text_color_option', '#000000');
if (!empty($text)) {
echo '<div style="text-align:center; padding:10px; background:#f0f0f0; color:' . esc_attr($color) . ';">' . esc_html($text) . '</div>';
}
}
Полезные плагины для разработки и отладки своих плагинов
При создании собственных плагинов для WordPress рекомендуем использовать следующие инструменты:
- Query Monitor — для отладки запросов, ошибок и производительности.
- Debug Bar — добавляет панель отладки в админку.
- Developer — набор инструментов для разработчиков с подсказками и проверками.
Эти плагины помогут быстрее находить ошибки и улучшать качество кода.
Заключение
Создание собственного плагина с настройками в админке WordPress — это простой и полезный навык. С помощью Settings API и стандартных хуков вы можете расширять функциональность сайта под любые задачи. Приведённый пример — базовый, но его легко развить, добавив больше опций, валидацию и стили.
Продолжайте экспериментировать, и ваши плагины станут ещё более мощными и удобными!