WordPress: как создать свой плагин с настройками в админке

Создание собственного плагина для WordPress — важный навык для любого разработчика, который хочет расширять функциональность сайта без зависимости от сторонних решений. Особенно полезно уметь создавать плагины с собственными настройками, доступными из админки. В этой статье мы подробно разберём, как сделать такой плагин с нуля, используя правильные хуки и API WordPress.

Почему стоит создавать свой плагин с настройками

Часто готовые плагины не позволяют гибко настроить функциональность под ваши нужды. Создавая свой плагин, вы получаете полный контроль над кодом и интерфейсом настроек. Это помогает:

  • Избежать лишнего кода и нагрузки на сайт.
  • Оптимизировать функциональность под конкретные задачи.
  • Обеспечить удобство управления для администраторов.

Кроме того, плагин с настройками удобно обновлять и переносить между сайтами.

Основные этапы создания плагина с настройками

Создадим простой плагин, который выводит в футере сайта текст из настроек. Для этого нам нужно:

  1. Создать структуру плагина и основной файл.
  2. Зарегистрировать страницу настроек в админ-панели.
  3. Создать поля настроек и сохранить их.
  4. Вывести данные на сайте.

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

Продолжайте экспериментировать, и ваши плагины станут ещё более мощными и удобными!

WooCommerce: как исключить товары с определёнными атрибутами из корзины
04.05.2026
Как создать автоматический импорт из внешнего источника с обработкой ошибок в WordPress
07.04.2026
Как создать свой шорткод для WordPress
27.11.2025
WooCommerce: автоматическое изменение стоимости товаров при оплате
23.04.2026
Как создать автоматическую систему отслеживания ошибок в WordPress
03.04.2026