Как добавить и использовать атрибуты шорткодов в WordPress с примерами

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

Что такое атрибуты шорткодов и зачем они нужны

Атрибуты — это параметры, которые вы передаёте шорткоду внутри квадратных скобок. Например, [wptests_button color="red" size="large"]. Они позволяют управлять выводом шорткода без правки кода. Это удобно, если нужно, например, менять цвет, размер, текст или другие настройки.

Без атрибутов шорткод всегда выводит одно и то же, а с ними — может менять содержимое в зависимости от переданных параметров.

Как регистрировать шорткод с атрибутами в WordPress

Для создания шорткода с атрибутами нужно зарегистрировать функцию, которая будет принимать массив атрибутов, а затем обрабатывать их. Используем функцию add_shortcode().

Пример регистрации шорткода wptests_button с атрибутами color и size:

function wptests_button_shortcode($atts) {
    // Устанавливаем значения по умолчанию
    $atts = shortcode_atts(
        array(
            'color' => 'blue',
            'size' => 'medium',
            'text' => 'Нажми меня'
        ),
        $atts,
        'wptests_button'
    );

    // Формируем CSS-класс по атрибутам
    $class = 'wptests-button ' . esc_attr($atts['color']) . ' ' . esc_attr($atts['size']);

    // Возвращаем HTML кнопки
    return '<button class="' . $class . '">' . esc_html($atts['text']) . '</button>';
}
add_shortcode('wptests_button', 'wptests_button_shortcode');

В этом коде мы используем shortcode_atts() для установки значений по умолчанию и безопасного получения параметров.

Примеры использования шорткода с атрибутами

Вы можете использовать шорткод с разными значениями атрибутов:

  • [wptests_button] — выведет кнопку с текстом "Нажми меня", цветом синим и размером medium.
  • [wptests_button color="red" size="large" text="Кликни сюда"] — красная большая кнопка с текстом "Кликни сюда".
  • [wptests_button color="green"] — зелёная кнопка medium размера.

Такой подход даёт гибкость при использовании шорткодов в редакторе WordPress.

Продвинутые возможности: проверка и динамическая генерация атрибутов

Для повышения надёжности можно добавить проверку значений атрибутов и обработку ошибок. Например, разрешать только определённые цвета и размеры:

function wptests_button_shortcode($atts) {
    $default_atts = array(
        'color' => 'blue',
        'size' => 'medium',
        'text' => 'Нажми меня'
    );
    $atts = shortcode_atts($default_atts, $atts, 'wptests_button');

    $allowed_colors = array('blue', 'red', 'green', 'black');
    $allowed_sizes = array('small', 'medium', 'large');

    $color = in_array($atts['color'], $allowed_colors) ? $atts['color'] : $default_atts['color'];
    $size = in_array($atts['size'], $allowed_sizes) ? $atts['size'] : $default_atts['size'];

    $class = 'wptests-button ' . esc_attr($color) . ' ' . esc_attr($size);
    return '<button class="' . $class . '">' . esc_html($atts['text']) . '</button>';
}

Также можно динамически генерировать атрибуты, например, добавлять уникальный ID к каждой кнопке для JavaScript-сценариев.

Полезные плагины для работы с шорткодами и их атрибутами

Для удобства работы с шорткодами существуют плагины, которые расширяют функционал:

  • Clearfy Pro — оптимизация и расширение возможностей WordPress, включая управление шорткодами.
  • WPRemark — плагин для отзывов, который позволяет использовать шорткоды с атрибутами для вывода отзывов.

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

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

При работе с шорткодами и атрибутами важно соблюдать несколько правил:

  • Всегда экранируйте входящие данные: esc_attr() для HTML-атрибутов, esc_html() для текста.
  • Используйте shortcode_atts() для установки значений по умолчанию и предотвращения ошибок.
  • Избегайте сложной логики в функции шорткода, чтобы не снижать производительность.
  • Если шорткод выводит сложный HTML или скрипты, используйте буферизацию вывода через ob_start() и ob_get_clean().

Как зарегистрировать и использовать шорткод с атрибутами на практике

Для использования создайте файл shortcodes.php в вашей теме или плагине и добавьте туда код регистрации шорткода. Затем подключите этот файл в functions.php или основном файле плагина:

require_once get_template_directory() . '/shortcodes.php';

После этого в редакторе WordPress можно вставлять шорткод с нужными атрибутами. Например:

[wptests_button color="green" size="small" text="Купить"]

Вы увидите кнопку с заданными параметрами без дополнительного кода.

Как автоматизировать проверку и обновление установленных плагинов в WordPress
12.01.2026
Как установить лимит для загрузки файлов в WordPress
19.03.2026
WooCommerce: автоматическое изменение стоимости товара при сменах вариаций в 2024
23.07.2026
WooCommerce: автоматическое изменение стоимости товара при сменах вариаций с подробной диагностикой
10.07.2026
Как изменить AJAX обработку форм в WordPress
08.04.2026