Как создать собственный шорткод в WordPress: полное руководство

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

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

Шорткод — это специальный тег в квадратных скобках, например, [wpscan_example], который WordPress заменяет на определённый контент или функциональность при отображении страницы. Они упрощают добавление сложных элементов, таких как галереи, формы, кнопки и другие интерактивные блоки, без знания HTML или PHP.

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

Как зарегистрировать собственный шорткод в WordPress

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

Пример базового шорткода:

function wpscan_show_date() {
    return date('Y-m-d H:i:s');
}
add_shortcode('wpscan_date', 'wpscan_show_date');

Теперь, если в записи написать [wpscan_date], на сайте появится текущая дата и время.

Советы по именованию функций шорткодов

Рекомендуется использовать префиксы (например, wpscan_), чтобы избежать конфликтов с другими функциями и плагинами. Это улучшает читаемость и поддержку кода.

Передача атрибутов в шорткод

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

Пример шорткода с атрибутами:

function wpscan_greeting_shortcode($atts) {
    $atts = shortcode_atts(
        array(
            'name' => 'Гость',
            'color' => 'blue',
        ), $atts, 'wpscan_greeting'
    );
    return '<p style="color: ' . esc_attr($atts['color']) . '">Привет, ' . esc_html($atts['name']) . '!</p>';
}
add_shortcode('wpscan_greeting', 'wpscan_greeting_shortcode');

Использование: [wpscan_greeting name="Андрей" color="green"] выведет приветствие зелёным цветом.

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

Допустим, нужно сделать шорткод, который покажет последние N записей с ссылками. Вот пример с параметром count:

function wpscan_latest_posts_shortcode($atts) {
    $atts = shortcode_atts(array(
        'count' => 5,
    ), $atts, 'wpscan_latest_posts');

    $query = new WP_Query(array(
        'posts_per_page' => intval($atts['count']),
        'post_status' => 'publish'
    ));

    if (!$query->have_posts()) {
        return '<p>Нет записей для отображения.</p>';
    }

    $output = '<ul>';
    while ($query->have_posts()) {
        $query->the_post();
        $output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
    }
    wp_reset_postdata();

    $output .= '</ul>';
    return $output;
}
add_shortcode('wpscan_latest_posts', 'wpscan_latest_posts_shortcode');

Использование: [wpscan_latest_posts count="3"] выведет список из трёх последних записей.

Безопасность и оптимизация шорткодов

При создании шорткодов важно учитывать безопасность. Всегда экранируйте выводимые данные с помощью функций esc_html(), esc_attr(), wp_kses_post() и других.

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

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

Если не хочется писать код вручную, можно использовать плагины, расширяющие возможности шорткодов:

  • Shortcodes Ultimate — богатый набор готовых шорткодов с визуальным редактором.
  • WP Shortcode by MyThemeShop — удобный плагин с популярными элементами.
  • Custom Shortcodes — позволяет создавать свои шорткоды через интерфейс.

Однако собственные шорткоды всегда более гибкие и адаптированы под конкретные задачи.

Заключение: когда создавать собственный шорткод

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

Используйте приведённые примеры и рекомендации для разработки своих шорткодов, соблюдая безопасность и производительность.

Авторизация через социальные сети в WordPress: лучшие решения и примеры кода
02.03.2026
Как безопасно обновлять базу данных WordPress без потери данных
06.03.2026
Как защитить WordPress от ботнет атак: эффективные решения
03.02.2026
Как автоматизировать обновление тем и плагинов WordPress с помощью кода
29.11.2025
Как использовать WPScan для быстрого аудита безопасности WordPress
25.01.2026