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

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

Почему стоит создать собственный плагин WordPress

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

Создавая собственный плагин, вы получаете:

  • Оптимизированный и легкий код, заточенный под ваши задачи;
  • Гибкость в настройках и развитии функционала;
  • Безопасность, так как контролируете весь код;
  • Возможность интеграции с другими сервисами и API.

Теперь перейдем к технической части.

Структура базового плагина WordPress

Минимальный плагин — это один PHP-файл с описанием и кодом функционала. Для удобства и масштабируемости рекомендуется создавать отдельную папку в директории wp-content/plugins, где будет располагаться файл плагина и дополнительные ресурсы.

Пример структуры:

wpeasy-myplugin/  
  wpeasy-myplugin.php
  readme.txt
  assets/
    css/
    js/

Самый важный файл — wpeasy-myplugin.php. В начале файла нужно прописать заголовок плагина, который увидит WordPress:

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

// Ваш код начинается здесь

Добавление функционала: простой шорткод

Давайте создадим простой шорткод, который выводит текущую дату.

function wpeasy_shortcode_date() {
    return 'Сегодняшняя дата: ' . date('d.m.Y');
}
add_shortcode('wpeasy_date', 'wpeasy_shortcode_date');

Используйте шорткод [wpeasy_date] в любом месте контента — он выведет дату.

Подключение CSS и JS в вашем плагине

Чтобы расширить плагин, часто нужно добавить стили и скрипты. Это делается через хуки WordPress:

function wpeasy_enqueue_assets() {
    wp_enqueue_style('wpeasy-style', plugin_dir_url(__FILE__) . 'assets/css/style.css');
    wp_enqueue_script('wpeasy-script', plugin_dir_url(__FILE__) . 'assets/js/script.js', array('jquery'), null, true);
}
add_action('wp_enqueue_scripts', 'wpeasy_enqueue_assets');

Создайте папки assets/css и assets/js и добавьте туда ваши файлы style.css и script.js. Таким образом, вы аккуратно подключаете ресурсы только при необходимости.

Работа с настройками плагина через админку WordPress

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

Сначала добавим пункт меню и страницу настроек:

function wpeasy_admin_menu() {
    add_options_page('Настройки WP Easy', 'WP Easy', 'manage_options', 'wpeasy-settings', 'wpeasy_settings_page');
}
add_action('admin_menu', 'wpeasy_admin_menu');

function wpeasy_settings_page() {
    ?>
    <div class="wrap">
        <h1>Настройки WP Easy</h1>
        <form method="post" action="options.php">
            <?php
            settings_fields('wpeasy_options_group');
            do_settings_sections('wpeasy-settings');
            submit_button();
            ?>
        </form>
    </div>
    <?php
}

Далее регистрируем настройки и поля:

function wpeasy_settings_init() {
    register_setting('wpeasy_options_group', 'wpeasy_option_text');

    add_settings_section('wpeasy_section', 'Основные настройки', null, 'wpeasy-settings');

    add_settings_field(
        'wpeasy_option_text',
        'Текст для шорткода',
        'wpeasy_option_text_render',
        'wpeasy-settings',
        'wpeasy_section'
    );
}
add_action('admin_init', 'wpeasy_settings_init');

function wpeasy_option_text_render() {
    $value = get_option('wpeasy_option_text', 'Привет, WP Easy!');
    echo '<input type="text" name="wpeasy_option_text" value="' . esc_attr($value) . '" size="50" />';
}

Теперь изменим наш шорткод, чтобы он выводил текст из настроек:

function wpeasy_shortcode_custom_text() {
    return esc_html(get_option('wpeasy_option_text', 'Привет, WP Easy!'));
}
remove_shortcode('wpeasy_date');
add_shortcode('wpeasy_text', 'wpeasy_shortcode_custom_text');

Используйте [wpeasy_text] — он выведет текст, который вы задали в настройках.

Рекомендации по безопасности и производительности

При разработке плагина важно:

  • Использовать esc_html(), esc_attr() и другие функции экранирования для вывода данных.
  • Проверять права пользователя при работе с админкой (current_user_can()).
  • Минимизировать количество запросов и подключаемых скриптов.
  • Использовать префиксы (например, wpeasy_) для функций и переменных, чтобы избежать конфликтов.

Итог

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

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

WooCommerce: как автоматически отключать неактивные товары через код
07.06.2026
WooCommerce: диагностика и решение проблем с обновлением стоимости товаров
05.05.2026
Как удалить удалённый плагин WordPress без доступа к phpMyAdmin
10.11.2025
WooCommerce: как автоматически изменять стоимость товара при изменении варианта
31.05.2026
Как создать свой плагин WordPress с нуля: подробное руководство для разработчиков
31.10.2025