Начав разработку плагинов WordPress, вы овладеете навыками для всего мира

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

Отправиться в путь разработки плагинов WordPress — значит овладеть способностью добавлять новые функции, автоматизировать процессы и создавать уникальную ценность для миллионов сайтов по всему миру. Независимо от того, делается ли это для решения конкретных бизнес-задач или для того, чтобы поделиться результатом с сообществом, понимание её ключевой архитектуры и принципов является первым шагом к успеху. По своей сути плагин — это набор PHP-кода, который следует соглашениям и API WordPress, бесшовно интегрируется в основную систему и с помощью хуков (Hooks) и фильтров (Filters) изменяет или расширяет поведение платформы.

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

Прежде чем вы начнёте писать первую строку кода, крайне важно иметь изолированную и профессиональную среду разработки. Рекомендуется использовать локальные инструменты разработки, такие как Local by Flywheel, DevKinsta или MAMP, которые позволяют быстро настроить среду с PHP, MySQL и WordPress.

Создание первого плагина

Все начинается с одного PHP-файла. В WordPress wp-content/plugins В каталоге создайте новую папку для вашего нового плагина. Например, мы создаём папку с именем my-first-plugin папку. Затем в этой папке создайте основной файл, обычно с тем же именем, что и папка:my-first-plugin.php

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

Этот заголовочный комментарий главного файла — “удостоверение личности” плагина: он предоставляет WordPress все метаданные, необходимые для распознавания плагина. Ниже приведена базовая структура:

Ультахост (UltaHost) – хостинг-провайдер, предоставляющий услуги хостинга для сайтов, построенных на платформе WordPress.
Гарантия возврата средств в течение 30 дней, неограниченная пропускная способность интернет-канала и объем баз данных, бесплатная защита от DDoS-атак. При покупке на срок 3 лет предоставляется скидка в размере 501 ТБ до 4 ТБ.
<?php
/**
 * Plugin Name:       我的第一个插件
 * Plugin URI:        https://example.com/my-first-plugin
 * Description:       这是一个用于学习 WordPress 插件开发的示例插件。
 * Version:           1.0.0
 * Author:            Your Name
 * Author URI:        https://example.com
 * License:           GPL v2 or later
 * Text Domain:       my-first-plugin
 * Domain Path:       /languages
 */

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

Понимание основных концепций: хуки действий и фильтры

Основой разработки плагинов WordPress является механизм хуков. Хуки позволяют вашему коду “встраиваться” в основной процесс WordPress в определённые моменты времени и выполнять вашу логику.

Крючки для действий

Хуки действий (Action Hooks) выполняют код при наступлении определённых событий, например при публикации статьи, входе пользователя в систему или загрузке шаблона. Вы используете add_action() Функция привязывает вашу функцию обратного вызова к хуку.

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

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

// 在文章编辑页面顶部添加自定义提示
add_action( 'edit_form_top', 'myplugin_edit_form_top_message' );
function myplugin_edit_form_top_message( $post ) {
    if ( 'post' === $post-&gt;post_type ) {
        echo '<div class="notice notice-info"><p>Это пользовательская подсказка из ‘Моего первого плагина»!</p></div>';
    }
}

Хук фильтра

Хуки фильтров (Filter Hooks) используются для изменения данных. Они позволяют вам изменять их значения до того, как данные будут использованы (например, сохранены в базе данных или отображены в браузере). Вы используете add_filter() Функция.

Классическим примером является изменение текста в конце содержимого статьи. Мы можем использовать the_content Фильтр.

// 在文章内容末尾附加版权信息
add_filter( 'the_content', 'myplugin_add_copyright_to_content' );
function myplugin_add_copyright_to_content( $content ) {
    if ( is_single() ) {
        $content .= '<p><small>© 2026 Все права защищены. Этот текст оптимизирован моим плагином.</small></p>';
    }
    return $content;
}

Создать страницу управления плагинами и настройки

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

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

Добавить меню управления

пользоваться add_menu_page() или add_options_page() Функции позволяют добавить к вашему плагину верхний (главный) или подменю. Обычно простые плагины размещаются в меню “Настройки” в виде подстраниц.

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

// 在管理后台添加设置菜单
add_action( 'admin_menu', 'myplugin_add_admin_menu' );
function myplugin_add_admin_menu() {
    add_options_page(
        '我的插件设置',          // 页面标题
        '我的插件',             // 菜单标题
        'manage_options',      // 所需权限
        'myplugin-settings',   // 菜单别名 (slug)
        'myplugin_render_settings_page' // 用于输出页面内容的回调函数
    );
}

Страница настроек отображения и параметры сохранения

Далее нам необходимо определить… myplugin_render_settings_page Функция используется для создания HTML-формы страницы и обработки сохранения данных формы. Мы будем использовать API настроек WordPress (Settings API), чтобы безопасно регистрировать, проверять и сохранять параметры.

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

// 渲染设置页面
function myplugin_render_settings_page() {
    ?&gt;
    <div class="wrap">
        <h1>Настройки моего плагина.</h1>
        <form action="/ru/options.php/" method="post" data-trp-original-action="options.php">
            <?php
            // 输出必要的安全字段和隐藏字段
            settings_fields( 'myplugin_settings_group' );
            // 输出设置章节和字段
            do_settings_sections( 'myplugin-settings' );
            // 输出提交按钮
            submit_button();
            ?>
        <input type="hidden" name="trp-form-language" value="ru"/></form>
    </div>
    <?php
}

// 初始化设置
add_action( 'admin_init', 'myplugin_settings_init' );
function myplugin_settings_init() {
    // 注册一个设置组和字段
    register_setting(
        'myplugin_settings_group', // 设置组名
        'myplugin_option_message'  // 选项名,将保存在 wp_options 表中
    );

    // 添加一个设置章节
    add_settings_section(
        'myplugin_section_basic',
        '基础设置',
        null, // 章节描述回调函数,可以为空
        'myplugin-settings' // 页面别名
    );

    // 向章节添加一个字段
    add_settings_field(
        'myplugin_field_message',
        '自定义消息',
        'myplugin_field_message_render', // 渲染字段 HTML 的函数
        'myplugin-settings',
        'myplugin_section_basic'
    );
}

// 渲染 ‘自定义消息’ 字段
function myplugin_field_message_render() {
    $option = get_option( 'myplugin_option_message' );
    ?>
    <input type='text' name='myplugin_option_message' value='<?php echo esc_attr( $option ); ?>'>
    <p class="description">Введённое здесь сообщение будет отображаться на переднем плане.</p>
    &lt;?php
}

Теперь в разделе “Настройки” -> “Мои плагины” вы увидите страницу настроек с текстовым полем и сможете сохранять сообщения. Чтобы использовать эту опцию, на сайте вы можете через get_option( 'myplugin_option_message' ) Получить его значение.

Реализовать пользовательские шорткоды

Шорткоды позволяют пользователям использовать простые теги в квадратных скобках, например [my_shortcode]) Встраивайте динамический контент в статьи, страницы или виджеты. Это удобный для пользователя способ предоставления сложных функций с помощью плагина.

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

Короткий код регистрации

пользоваться add_shortcode() Функция для регистрации вашего шорткода. Она принимает два параметра: метку шорткода и функцию-обработчик.

Например, мы создаем шорткод [display_greeting], он может отображать разные приветствия в зависимости от времени и при необходимости принимать name Параметр.

// 注册自定义短代码
add_shortcode( 'display_greeting', 'myplugin_render_greeting_shortcode' );
function myplugin_render_greeting_shortcode( $atts ) {
    // 设置默认属性值
    $attributes = shortcode_atts(
        array(
            'name' =&gt; '访客',
        ),
        $atts,
        'display_greeting'
    );

    // 获取当前小时
    $hour = date( 'H' );
    $greeting = '';

    if ( $hour &lt; 12 ) {
        $greeting = &#039;早上好&#039;;
    } elseif ( $hour &lt; 18 ) {
        $greeting = &#039;下午好&#039;;
    } else {
        $greeting = &#039;晚上好&#039;;
    }

    // 构建输出
    $output = sprintf(
        &#039;<div class="myplugin-greeting"><p><strong>%s, %s!</strong> Добро пожаловать на наш сайт.</p></div>',
        esc_html( $greeting ),
        esc_html( $attributes['name'] )
    );

    return $output;
}

Теперь пользователи могут вводить в редакторе [display_greeting name="张三"], при рендеринге страницы будет заменено на персонализированное приветствие.

резюме

Разработка плагинов WordPress — это мощный и гибкий процесс, суть которого заключается в понимании и использовании системы хуков и основных API. Начиная с создания PHP-файла со стандартным заголовком, расширяя функциональность с помощью хуков действий и фильтров, используя Settings API для создания удобного пользовательского интерфейса настроек и предоставляя удобные шорткоды, вы уже создали плагин с базовой структурой и распространёнными функциональными модулями. Комбинируя и углубляя эти базовые модули, а также следуя стандартам кодирования WordPress и лучшим практикам безопасности, вы сможете создавать мощные плагины, отвечающие самым разным потребностям.

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

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

Вам необходимо обладать базовыми знаниями языка программирования PHP, поскольку плагины в основном пишутся на PHP. Кроме того, базовое понимание HTML, CSS и JavaScript поможет в создании пользовательского интерфейса и интерактивных функций. Самое важное — быть знакомым с основными концепциями WordPress, такими как хуки (Hooks), цикл (The Loop) и иерархия шаблонов.

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

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

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

WordPress использует фреймворк GNU gettext для интернационализации. Определите в заголовке главного файла вашего плагина Text Domain и Domain PathВ коде используйте __()_e() Оберните все строки, которые необходимо перевести, такими функциями. Затем используйте такие инструменты, как Poedit, чтобы сгенерировать .pot Шаблонный файл, предназначенный для создания переводчиками. .po и .mo Документ.

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

Прежде всего, вам нужно создать учётную запись на WordPress.org и отправить плагин. Ваш код должен соответствовать стандартам кодирования WordPress и не должен содержать никакого зашифрованного или обфусцированного кода. Каталог плагина, основной файл, скриншоты и README должны соответствовать определённой структуре. Команда модерации проверит качество кода, безопасность и лицензионное соглашение (оно должно быть совместимо с GPL).