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

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

Основные составляющие плагина WordPress: структура и минимальный набор файлов

Плагин — это набор PHP-файлов, которые WordPress загружает и выполняет для расширения своих возможностей. Минимально для работы плагина нужен один PHP-файл с правильно оформленным «заголовком» плагина.

Структура плагина обычно выглядит так:

  • my-wprus-plugin/ — корневая папка плагина;
  • my-wprus-plugin/my-wprus-plugin.php — главный PHP-файл плагина;
  • Дополнительно: папки includes/, assets/ для скриптов, стилей и вспомогательных файлов;
  • Опционально: readme.txt и другие файлы документации.

Ниже пример минимального заголовка плагина, который должен быть в начале главного PHP-файла:

<?php
/*
Plugin Name: WP RUS Custom Plugin
Plugin URI: https://wprus.ru
Description: Пример простого плагина, созданного с нуля
Version: 1.0
Author: Ваша Имя
Author URI: https://wprus.ru
License: GPL2
*/

Этот блок позволяет WordPress идентифицировать плагин в админке.

Регистрация хуков и создание функционала плагина

Плагины работают, подключаясь к хукам (actions и filters) WordPress. В этом примере создадим функцию, которая добавляет сообщение в подвал сайта.

Добавим в файл my-wprus-plugin.php следующий код:

function wprus_footer_message() {
    echo '<p style="text-align:center; font-size:14px; color:#666;">Плагин WP RUS: Спасибо, что посетили наш сайт!</p>';
}
add_action('wp_footer', 'wprus_footer_message');

Функция wprus_footer_message выводит HTML-сообщение в подвал сайта, используя хук wp_footer. Такой подход позволяет внедрять код в разные части темы без изменения её файлов.

Создание шорткода для вывода информации

Шорткоды — это удобный способ вставлять динамический контент в записи и страницы. Добавим простой шорткод для вывода текущей даты.

function wprus_current_date_shortcode() {
    return '<strong>' . date('d.m.Y') . '</strong>';
}
add_shortcode('wprus_date', 'wprus_current_date_shortcode');

Теперь в любом посте можно вставить [wprus_date], и он заменится на текущую дату.

Добавление страницы настроек в админку WordPress

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

Регистрация страницы меню

function wprus_add_admin_menu() {
    add_options_page(
        'Настройки WP RUS Плагина',
        'WP RUS Настройки',
        'manage_options',
        'wprus_plugin',
        'wprus_options_page'
    );
}
add_action('admin_menu', 'wprus_add_admin_menu');

Создание формы настроек

function wprus_settings_init() {
    register_setting('wprusPluginSettings', 'wprus_footer_text');

    add_settings_section(
        'wprus_section',
        'Основные настройки',
        null,
        'wprusPluginSettings'
    );

    add_settings_field(
        'wprus_footer_text_field',
        'Текст в подвале сайта',
        'wprus_footer_text_render',
        'wprusPluginSettings',
        'wprus_section'
    );
}
add_action('admin_init', 'wprus_settings_init');

function wprus_footer_text_render() {
    $option = get_option('wprus_footer_text', 'Спасибо за посещение!');
    echo '<input type="text" name="wprus_footer_text" value="' . esc_attr($option) . '" style="width:300px;">';
}

Вывод страницы настроек

function wprus_options_page() {
    ?>
    <form action="options.php" method="post">
        <h2>Настройки WP RUS Плагина</h2>
        <?php
        settings_fields('wprusPluginSettings');
        do_settings_sections('wprusPluginSettings');
        submit_button();
        ?>
    </form>
    <?php
}

Использование настроек в коде плагина

Обновим функцию вывода в подвал, чтобы использовать значение из настроек:

function wprus_footer_message() {
    $text = get_option('wprus_footer_text', 'Спасибо за посещение!');
    echo '<p style="text-align:center; font-size:14px; color:#666;">' . esc_html($text) . '</p>';
}

Советы по безопасности и производительности плагина

При разработке плагина важно учитывать безопасность. Всегда экранируйте вывод с помощью esc_html или других функций WordPress, чтобы предотвратить XSS-атаки.

При работе с пользовательскими данными используйте функции проверки и валидации. Для AJAX-запросов — nonce и проверки прав доступа.

Для производительности старайтесь минимизировать количество запросов к базе, кешировать результаты и освобождать ресурсы.

Заключение: что сделано и как использовать

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

Для установки плагина достаточно:

  1. Создать папку my-wprus-plugin в wp-content/plugins/.
  2. Создать файл my-wprus-plugin.php с кодом из примеров.
  3. Активировать плагин в админке WordPress.
  4. Настроить текст в разделе «Настройки» → «WP RUS Настройки».

Такой подход поможет вам легко создавать свои решения и углубленно работать с WordPress.

Как динамически изменить заголовок страницы в WordPress: практические методы и примеры
24.03.2026
Как создать и использовать кастомные таблицы в WordPress: пошаговое руководство
12.02.2026
Как создать автоматический импорт продуктов в WooCommerce из CSV с помощью кода и плагинов
19.03.2026
Как отключить REST API в WordPress без плагинов: практическое руководство
21.01.2026
Как удалить загруженные файлы из медиатеки WordPress по ссылке
06.12.2025
×

Время не ждет!

Скидки на
WordPress!

-20%
на топовые плагины

Не упусти шанс ⋙