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

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

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

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

Основные преимущества шорткодов:

  • Удобство добавления функционала в контент через визуальный редактор;
  • Повторное использование кода в разных местах сайта;
  • Разделение логики и отображения;
  • Гибкость и расширяемость.

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

Начнем с простейшего примера. Допустим, нам нужно создать шорткод, который выводит приветственное сообщение.

Добавьте следующий код в файл functions.php вашей темы или в отдельный плагин:

function wpcommunity_hello_shortcode() {
    return '<p>Привет от WPCommunity!</p>';
}
add_shortcode('wpcommunity_hello', 'wpcommunity_hello_shortcode');

Теперь в любом месте контента вы можете написать [wpcommunity_hello], и на сайте появится: Привет от WPCommunity!

Такой подход хорош для вывода статического текста, но давайте рассмотрим, как сделать шорткод более гибким.

Параметры шорткода: как передавать данные

Шорткоды могут принимать параметры, которые влияют на их вывод. Например, добавим параметр name, чтобы кастомизировать приветствие.

function wpcommunity_greeting_shortcode($atts) {
    $atts = shortcode_atts(
        array(
            'name' => 'гость',
        ), $atts, 'wpcommunity_greeting'
    );
    return '<p>Привет, ' . esc_html($atts['name']) . '! Добро пожаловать на WPCommunity.</p>';
}
add_shortcode('wpcommunity_greeting', 'wpcommunity_greeting_shortcode');

Использование: [wpcommunity_greeting name="Иван"] выведет Привет, Иван! Добро пожаловать на WPCommunity.

Использование функции shortcode_atts() позволяет задавать значения по умолчанию и безопасно обрабатывать входящие параметры.

Шорткод с выводом списка — практический пример

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

function wpcommunity_recent_posts_shortcode($atts) {
    $atts = shortcode_atts(
        array(
            'count' => 5,
        ), $atts, 'wpcommunity_recent_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('wpcommunity_recent_posts', 'wpcommunity_recent_posts_shortcode');

Такой шорткод выводит упорядоченный список ссылок на последние записи. Параметр count задает количество выводимых постов. Пример использования: [wpcommunity_recent_posts count=3].

Обратите внимание на правильное использование WP_Query и сброс данных после цикла wp_reset_postdata() — это важный момент для избежания конфликтов с основным запросом.

Расширение шорткода: добавление CSS и JavaScript

Иногда нужно не просто вывести текст или список, а добавить стили или интерактивность. Для этого можно подключать CSS и JS, зарегистрируя их через WordPress и добавляя только если шорткод используется.

Пример подключения стилей для шорткода:

function wpcommunity_enqueue_shortcode_assets() {
    wp_enqueue_style('wpcommunity_shortcode_css', get_template_directory_uri() . '/css/wpcommunity-shortcode.css');
}

function wpcommunity_styled_shortcode() {
    wpcommunity_enqueue_shortcode_assets();
    return '<div class="wpcommunity-box">Стильный блок</div>';
}
add_shortcode('wpcommunity_styled', 'wpcommunity_styled_shortcode');

В этом примере создается блок с классом, к которому подключен CSS. Аналогично можно подключить и JavaScript, если необходима динамика.

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

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

  • Используйте esc_html(), esc_attr() и другие функции экранирования для вывода пользовательских данных.
  • Не выполняйте тяжелые операции внутри шорткода, если это можно вынести в кэш.
  • Используйте shortcode_atts() для обработки параметров.
  • Избегайте прямого вывода echo — лучше возвращать строки.

Соблюдение этих рекомендаций обеспечит стабильную и безопасную работу вашего сайта.

Вывод

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

Если хотите автоматизировать создание шорткодов или добавить более сложную логику, рекомендую изучить объект WP_Query, фильтры и хуки WordPress.

Как использовать фильтры WooCommerce для автоматического изменения стоимости товаров
31.05.2026
Как создать свою систему ролей и разрешений в WordPress
30.11.2025
Как использовать методы для удаления вариативных товаров WooCommerce при удалении атрибута
09.06.2026
Как установить ограничение на регистрацию в WordPress по домену e-mail
20.03.2026
Как использовать AJAX в WordPress для обновления контента без перезагрузки страницы
29.12.2025

Задать вопрос о вордпресс, получить ответ - это все можно сделать в нашем сообществе WP. Сайт в данный момент в разработке, изучите ссылки ниже: