Руководство по разработке плагинов для WordPress: Создайте свой первый плагин с нуля

2 минуты чтения
2026-03-12
2026-06-03
2,207
Я получаю комиссионные, когда вы совершаете покупки по ссылкам ниже, без дополнительных затрат для вас.

Зачем выбирать разработку плагинов для WordPress?

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

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

Настройте среду разработки для плагинов

Прежде чем приступать к написанию кода, крайне важно наличие подходящей среды локального развития. Она позволяет безопасно выполнять тестирование и отладку, не влияя на работу веб-сайта в режиме онлайн.

Рекомендуемое чтение Полное руководство по разработке плагинов WordPress: от нуля до создания профессионального плагина

Настройка локальной серверной среды

Рекомендуется использовать интегрированные инструменты для локального разработчика, такие как Local by Flywheel, DevKinsta или XAMPP. Эти инструменты устанавливаются одним кликом и включают в себя серверы Apache/Nginx, PHP и базу данных MySQL. Убедитесь, что версия PHP, используемая вами, совместима с целевым сервером; обычно рекомендуется использовать PHP 7.4 или более новые версии для лучшей производительности и безопасности.

Ультахост (UltaHost) – хостинг-провайдер, предоставляющий услуги хостинга для сайтов, построенных на платформе WordPress.
Гарантия возврата средств в течение 30 дней, неограниченная пропускная способность интернет-канала и объем баз данных, бесплатная защита от DDoS-атак. При покупке на срок 3 лет предоставляется скидка в размере 501 ТБ до 4 ТБ.

Установите и настройте WordPress.

Установите новый экземпляр WordPress на локальном сервере. Для разработки и тестирования рекомендуется использовать стандартные темы (например, серию Twenty Twenty), чтобы избежать проблем с совместимостью тем.wp-config.phpВ файле функция включена (активирована).WP_DEBUGКонстанты помогут вам быстро обнаруживать ошибки в процессе разработки.

define( 'WP_DEBUG', true );

Подготовьте кодовый редактор.

Выберите мощный кодовый редактор, такой как Visual Studio Code, PhpStorm или Sublime Text. Установите необходимые расширения — например, функции интеллектуального распознавания PHP-кода, шаблоны кода для работы с WordPress и т. д. Это значительно повысит вашу эффективность при написании программного кода.

Создайте свой первый файл плагина.

Плагин для WordPress по сути представляет собой один или несколько модулей, расположенных в определенных частях кода сайта./wp-content/plugins/PHP-файлы, находящиеся в каталоге. Давайте начнем с самой основной структуры программы.

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

Каждый плагин должен содержать заголовочное примечание в стандартном формате, с помощью которого WordPress может определить информацию о плагине. В вашем каталоге плагинов (например…/wp-content/plugins/my-first-plugin/В документе (или программе) необходимо создать элемент с именем «Create a new item».my-first-plugin.phpГлавный файл.

Рекомендуемое чтение От начала до мастерства: Полное руководство по разработке плагинов для WordPress

<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习的简单WordPress插件。
 * Version:           1.0.0
 * Author:            你的名字
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

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

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

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

// 防止直接访问
if ( ! defined( 'ABSPATH' ) ) {
	exit; // 如果未定义ABSPATH(WordPress根目录的绝对路径),则退出
}

ABSPATHЭто константа, определённая WordPress, которая представляет собой абсолютный путь к месту установки плагина. Проверка наличия этой константы позволяет эффективно предотвратить прямой доступ к файлам плагина со стороны внешних пользователей по URL-адресу.

hosting.com Общий хостинг
Высокая производительность благодаря процессорам AMD EPYC, SSD-накопителям NVMe и LiteSpeed, круглосуточная экспертная поддержка, передовые меры безопасности, включая SSL, защиту от грубой силы, вредоносных программ и DDoS, экономия до 73%

Реализация основных функций: добавление меню управления и настройок.

Комплексный плагин, как правило, должен предоставлять интерфейс настройки в бэкенде WordPress. Мы добавим простую страницу управления с помощью API, предоставляемого самим WordPress.

Используйте функцию для добавления верхнего управленческого меню.

Мы будем использовать…add_action()Функция была подключена (монтирована).admin_menuНа крючке будет добавлено новое пункт меню, что позволит создать соответствующий элемент интерфейса в бэкенде. Продолжите добавлять следующий код в ваш основной файл плагина.

// 添加管理菜单
function mfp_add_admin_menu() {
    add_menu_page(
        '我的第一个插件设置', // 页面标题
        '我的插件',           // 菜单标题
        'manage_options',    // 所需权限(管理员)
        'my-first-plugin',   // 菜单slug
        'mfp_settings_page', // 显示页面内容的回调函数
        'dashicons-admin-generic', // 图标(使用Dashicons)
        80                    // 菜单位置
    );
}
add_action( 'admin_menu', 'mfp_add_admin_menu' );

Здесь,add_menu_page()Функция предназначена для создания главного меню. Параметры определяют заголовок страницы, заголовок меню, уровень доступа, уникальный идентификатор (slug), функцию-обратный вызов для отображения содержимого страницы, изображение иконы, а также положение меню в боковой панели.

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

Создание функции обратного вызова для страницы настройок

Теперь нам необходимо определить то, о чём говорилось выше.mfp_settings_page()Функция будет выводить HTML-контент страницы управления.

// 设置页面回调函数
function mfp_settings_page() {
    // 检查用户权限
    if ( ! current_user_can( 'manage_options' ) ) {
        return;
    }
    ?&gt;
    <div class="wrap">
        <h1></h1>
        <p>Добро пожаловать на страницу настроек моего первого плагина! Здесь вы сможете добавлять формы и опции в будущем.</p>
        <form action="/ru/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出设置字段、非ce等(后续扩展)
            settings_fields( 'mfp_options_group' );
            do_settings_sections( 'my-first-plugin' );
            submit_button( '保存设置' );
            ?>
        <input type="hidden" name="trp-form-language" value="ru"/></form>
    </div>
    &lt;?php
}

Эта функция сначала проверяет, имеет ли текущий пользователь необходимые права или доступ к соответствующим ресурсам.manage_optionsРазрешения (обычно для администратора), после чего отображается простая структура страницы настройок. В ней…settings_fields()иdo_settings_sections()Это место предназначено для настройки параметров регистрации API для последующего использования в WordPress.

Общий хостинг InterServer
Общий хостинг $2.50 USD в месяц, первый месяц $0.1 USD промо-код tryinterserver, 461 скрипт облачных приложений, установка в один клик.

Необходимо добавить к плагину простую фронтенд-функцию.

Помимо интерфейса для администрирования веб-сайта, плагины чаще всего используются для добавления функциональности на его пользовательский интерфейс (фронтенд). Мы создадим простой шорткод (shortcode), который позволит пользователям включать нужные функции в свои статьи или страницы.

Используйте функции для регистрации скороченных кодов.

Короткие коды позволяют пользователям выполнять определенные действия или получать информацию простым и удобным способом.[shortcode]Такие простые теги позволяют вставлять динамические функции в контент. Их используют для этой цели.add_shortcode()Функция проходит процедуру регистрации.

// 注册一个短代码
function mfp_hello_world_shortcode( $atts ) {
    // 短码属性,设置默认值
    $atts = shortcode_atts(
        array(
            'name' =&gt; '访客',
        ),
        $atts,
        'mfp_hello'
    );

// 安全地输出内容
    return '<p>Здравствуйте, '. esc_html($atts['name'])'. ‘! Это приветствие, сгенерированное моим плагином.</p>'add_shortcode( 'mfp_hello', 'mfp_hello_world_shortcode' );

add_shortcode()Функция принимает два параметра: имя метки сокращенного кода (то имя, которое используется пользователем) и соответствующую функцию обработки.shortcode_atts()Функция предназначена для слияния пользовательских введённых значений атрибутов с их значениями по умолчанию, что способствует повышению надёжности и устойчивости кода.

Тестирование коротких кодов на фронтенде

После сохранения файла плагина перейдите на страницу “Плагины” в панели управления WordPress и активируйте плагин “Мой первый плагин”. Затем создайте или отредактируйте статью и введите нужный код непосредственно в редакторе содержимого.[mfp_hello name="小明"]После публикации статьи на фронтенд-странице будет отображаться сообщение: “Здравствуй, Сяомин! Это приветствие, сгенерированное моим плагином”. Если атрибут name не будет указан, то…[mfp_hello]В этом случае будет отображено значение по умолчанию: “Здравствуйте, посетитель!”.

резюме

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

Настоящее путешествие по разработке плагинов только начинается. Далее вы сможете изучить мощный API настроек WordPress, чтобы создавать сохраняемые параметры, а также использовать механизмы действий (action hooks).add_action()Фильтры и хаки (filters and hooks)add_filter()Необходимо изменить основное поведение плагина, научиться добавлять в него поддержку международной локализации (иностранных языков) и безопасно обрабатывать пользовательские данные. Помните: соблюдение стандартов кодирования WordPress и внимание к вопросам безопасности являются ключевыми факторами при разработке качественных плагинов.

Часто задаваемые вопросы

Какие знания необходимы для разработки плагинов для WordPress?

Вам потребуются базовые знания PHP-программирования, понимание HTML и CSS, а также знания основ работы с WordPress (например, публикация статей, установка тем и плагинов). Знание объектно-ориентированного программирования (OOP) не является обязательным, но оно значительно облегчит разработку сложных плагинов.

Должно ли имя основного файла плагина совпадать с именем папки, в которой он находится?

Это не обязательно, но это настоятельно рекомендуемая лучшая практика, которая помогает сделать структуру более понятной. Файл PHP основного плагина может иметь любое имя, однако его заголовочные комментарии должны быть правильно сформулированы, и данный файл должен находиться внутри папки, содержащей сам плагин. Название папки обычно совпадает с именем плагина (его «slug-названием»).

Как отладить код моего плагина?

Кроме того, необходимо также…WP_DEBUGВы также можете использовать…error_log()Функция записывает информацию о дебагировании в ошибочный журнал сервера, либо использует другие способы для передачи этой информации.var_dump()иwp_die()Выполните проверку вывода данных (только в разработческой среде). Использование таких инструментов для отладки, как Query Monitor, также является эффективным вариантом.

Как можно разместить плагин, разработанный мной, в официальном каталоге плагинов WordPress?

Во-первых, вам необходимо убедиться, что код вашего плагина соответствует требованиям к публикации в WordPress, включая соблюдение лицензии GPL, качество кода, безопасность и поддержку международных языков. Затем заполните форму на сайте WordPress.org для создания SVN-репозитория, загрузите туда свой код и пройдите процедуру проверки. Официально предоставлено подробное руководство по отправке плагинов.