Коротко: плагин для WordPress делают так: создают папку в wp-content/plugins/, кладут туда PHP-файл с заголовком плагина, добавляют нужную функциональность (шорткоды, хуки, страницы в админке) и активируют плагин в админке. Плагин — правильное место для кода, который не должен зависеть от темы.
Что нужно для плагина
| Элемент | Зачем |
|---|---|
| Заголовок плагина | WordPress «увидит» плагин |
| Хуки | подключение функциональности |
| Шорткод | вывод на странице |
| Страница настроек | управление из админки |
| Правила безопасности | права, nonce, экранирование |
Вкладки: пошагово
- Создайте папку:
wp-content/plugins/my-plugin/. - Создайте файл
my-plugin.php. - Добавьте заголовок плагина в комментарии.
- Откройте «Плагины» в админке и активируйте.
<?php
/**
* Plugin Name: Мои доработки
* Description: Полезные функции для сайта
* Version: 1.0.0
* Author: Ваше имя
*/
if (!defined('ABSPATH')) exit; // защита от прямого вызова
add_action('init', function () {
// ваш код
});add_shortcode('my_box', function ($atts) {
$atts = shortcode_atts(['title' => 'Заголовок'], $atts);
return '<div class="my-box">' . esc_html($atts['title']) . '</div>';
});Шорткод позволяет вставлять вывод в записи и страницы: [my_box title="Привет"]. Всегда экранируйте данные через esc_html().
add_action('admin_menu', function () {
add_options_page('Мои настройки', 'Мои настройки',
'manage_options', 'my-plugin', 'my_plugin_page');
});
function my_plugin_page() {
echo '<div class="wrap"><h1>Настройки</h1></div>';
}Страница появится в «Настройки». Право manage_options — доступ только администратору. Для сохранения настроек используйте Settings API с nonce.
- экранируйте вывод:
esc_html(),esc_attr(),esc_url(); - проверяйте права:
current_user_can('manage_options'); - используйте nonce в формах;
- не доверяйте данным из запроса — очищайте их;
- не отключайте базовые проверки «ради простоты».
Практика: первый плагин
- Создайте папку и основной файл с заголовком.
- Добавьте защиту от прямого доступа.
- Опишите шорткод с простым выводом.
- Проверьте работу, вставив шорткод на тестовую страницу.
- Добавьте страницу настроек, если нужны параметры.
- Проверьте активацию/деактивацию и отсутствие ошибок.
Частые ошибки: причина → решение
| Симптом | Причина | Решение |
|---|---|---|
| Плагина нет в списке | нет заголовка плагина | добавить комментарий-заголовок |
| Белый экран | синтаксическая ошибка | проверить код, включить WP_DEBUG |
| Шорткод выводит текст как есть | не зарегистрирован | проверить add_shortcode |
| Функция работает только в теме | код написан в теме | перенести в плагин |
Проверьте себя
Вопросы и ответы
Функциональность сайта — в плагин (не зависит от темы). Оформление и шаблоны — в дочернюю тему.
Нужно привести код к стандартам, добавить readme.txt, пройти проверку и отправить заявку на wordpress.org/plugins. Это отдельный процесс.
Хук — «крючок» в момент выполнения WordPress. add_action выполняет ваш код в нужный момент, add_filter изменяет данные.
Если плагин в каталоге — обновления приходят автоматически. Для приватного плагина — свой механизм обновления или ручная замена файлов, но с версией и бэкапом.
Итоги
- Плагин — папка и PHP-файл с заголовком.
- Функциональность подключают через хуки и шорткоды.
- Настройки делают страницей в админке с проверкой прав.
- Экранирование, права и nonce обязательны.
Комментарии
Пока комментариев нет — будьте первым, кто поделится мнением.