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

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

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

Прежде чем приступать к написанию кода, крайне важно наличие стабильной и эффективной локальной среды разработки. Для разработки плагинов для WordPress рекомендуется использовать такие интегрированные среды, как XAMPP, MAMP или Local by Flywheel – они позволяют одним кликом установить Apache, MySQL и PHP, избавляя от необходимости выполнения сложных настроек. Убедитесь, что версия PHP у вас не ниже 7.4, а версия MySQL – не ниже 5.6, чтобы соответствовать последним рекомендациям официального сайта WordPress.

Далее вам понадобится кодовый редактор. Visual Studio Code, PhpStorm или Sublime Text — отличные варианты; они обеспечивают выделение синтаксиса, предложения по написанию кода и возможности отладки, что значительно повышает эффективность разработки. Также вам стоит установить инструмент управления версиями, например Git, для хранения истории изменений в вашем коде. Это стандартная практика современного программирования.

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

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

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

Давайте начнем с создания самого простого плагина. Сначала перейдите в каталог вашей локальной установки WordPress.wp-content/pluginsПапка. Создайте здесь новую папку и назовите её…my-first-pluginВсе файлы, связанные с плагинами, будут размещены в этом каталоге.

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

В этой папке создайте основной PHP-файл, например, с названием `main.php`.my-first-plugin.phpВ заголовке этого файла обязательно должен быть блок с комментариями, содержащими информацию о используемых плагинах. Вот стандартный пример:

<?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
 */

В этом комментарии поле “Plugin Name” является обязательным для заполнения; WordPress использует его для идентификации и отображения вашего плагина в списке плагинов в бэкенде. Другая информация, такая как версия плагина и имя автора, помогает пользователям получить более подробные сведения о нем. После сохранения файла войдите в панель управления WordPress, перейдите на страницу “Плагины”, и вы увидите, что ваш плагин (“Мой первый плагин”) появился в списке плагинов. Вы сможете активировать или деактивировать его. В настоящее время у плагина нет никаких функций, но вы успешно создали легальную структуру плагина.

Добавить основные функции в плагин

Активированный плагин должен выполнять свой код с использованием механизма хуков (hooks) в WordPress. Существует два типа хуков: хуки действий (Action Hooks) и хуки фильтров (Filter Hooks). Хуки действий позволяют вставлять код в определенные моменты выполнения программы для выполнения определенных функций, в то время как хуки фильтров позволяют изменять данные, передаваемые в процессе выполнения программы.

Используйте действия-хаки (action hooks) для добавления меню управления.

Чтобы пользователи могли взаимодействовать с плагином, обычно необходимо добавить страницу настроек в интерфейс администрирования WordPress. Это можно сделать следующим образом:add_action()Функция была подключена (монтирована).admin_menuЭто действие реализуется с помощью хака (action hook).

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

Во-первых, мы определяем функцию в основном файле плагина, которая отвечает за вывод HTML-контента страницы настроек. Эту функцию можно назвать…mfp_settings_page_htmlЗатем мы создаем ещё одну функцию, например…mfp_add_admin_menuВ нем используется WordPress.add_menu_page()Функция предназначена для регистрации нового элемента верхнего уровня меню. В конце используется…add_action('admin_menu', 'mfp_add_admin_menu')Монтируйте функцию регистрации в систему.

Использование фильтров и хуков для изменения содержимого статей

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

Давайте определим функцию, назовем её, например, `myFunction`.mfp_add_copyright_to_contentОно принимает один параметр (то есть исходный текст статьи) и добавляет к нему пользовательский HTML-код в конце. Затем…add_filter('the_content', 'mfp_add_copyright_to_content')Необходимо зарегистрировать эту функцию в качестве фильтра. Таким образом, каждый раз, когда WordPress запрашивает содержимое статьи, оно сначала будет обработано нашей функцией: к нему будет добавлена информация об авторских правах, после чего содержимое будет отображено.

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

Безопасность плагинов, их оптимизация и публикация

Разработка новых функций — это лишь первый шаг; не менее важно обеспечить безопасность и высокую производительность плагина. Все данные, вводимые пользователями, должны подвергаться строгой проверке, обработке (включая форматирование символов) и очистке перед тем, как они попадают в базу данных или отображаются на странице. WordPress предоставляет множество функций для обеспечения безопасности.sanitize_text_field()(Очистить текст),esc_html()(Эскапированный HTML) иwp_kses()(Разрешены указанные HTML-теги; обязательно используйте их в соответствующих местах.)

Для повышения удобства обслуживания и производительности плагина рекомендуется следовать принципам объектно-ориентированного программирования (OOP) при организации кода, заключая функциональность в отдельные классы. Кроме того, эффективно используйте API временных хранилищ данных (Transients API) WordPress для сохранения результатов затратных запросов или данных, полученных из удаленных источников в кэше, чтобы избежать их повторного вычисления при каждом загрузке страницы.

Когда функции вашего плагина будут полностью разработаны и пройдут тестирование, вы сможете подумать о его публикации. Вам потребуется подготовить четкое описание плагина, включающее все его особенности и преимущества.readme.txtФайлы должны соответствовать требованиям сайта WordPress.org; они используются для описания функций плагина, способов его установки, логов обновлений и часто задаваемых вопросов. Если вы хотите представить плагин в официальном каталоге плагинов WordPress, необходимо создать репозиторий SVN и соблюдать установленные там стандарты кода, а также руководства по подаче изменений. Для коммерческих плагинов также потребуется создать собственные серверы для продаж и обновлений.

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

резюме

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

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

Какие файлы должен включать в себя плагин?

Самый простой плагин может состоять всего из одного PHP-файла с правильными заголовками файлов (аннотациями). Однако по мере увеличения сложности функционала плагина обычно в него включаются несколько PHP-файлов, JavaScript-код, CSS-стили, изображения, а также другие ресурсы.readme.txtИнструкционный документ. Основной PHP-файл является обязательным.

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

Как избежать конфликтов между моим плагином и другими плагинами?

Добавление уникального префикса к именам всех ваших функций, классов, констант и глобальных переменных является лучшей практикой для предотвращения конфликтов в именовании. Для этого обычно используются аббревиатуры плагинов или сами имена плагинов в качестве префиксов.mfp_илиmy_plugin_Кроме того, инкапсулирование кода в классах позволяет эффективно изолировать области его действия (scope).

Как добавить настраиваемые параметры для плагина?

Рекомендуется использовать WordPress Settings API для создания безопасных и стандартизированных страниц настроек. Этот API предоставляет функции для регистрации настроек, добавления полей и разделов, а также автоматического обработки сохранения данных, проверки введенных значений и проверки подлинности пользователей (nonce-проверки). Это значительно упрощает работу по сравнению с ручным управлением настройками.$_POSTДанные должны быть гораздо более безопасными и удобными в использовании.

Как отлаживать ошибки в плагинах во время разработки?

Прежде всего, убедитесь, что вашwp-config.phpВ файле включен режим отладки WordPress.WP_DEBUGКонстанта установлена наtrueКроме того, можно установить и активировать профессиональные отладочные плагины, такие как Query Monitor. Они помогают отслеживать выполнение запросов к базе данных, действия хуков (hooks), ошибки в PHP-коде и узкие места в производительности приложения, что делает их неотъемлемыми инструментами в процессе разработки.