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

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

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

Шорткод — это специальный тег в квадратных скобках, например [myshortcode], который WordPress заменяет на определённый контент или функциональность. Это удобно, когда нужно многократно использовать один и тот же элемент с динамическими данными или сложной версткой.

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

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

Как создать простой шорткод в WordPress

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

Пример простого шорткода, который выводит приветствие:

function wpstandart_hello_shortcode() {
    return '<p>Привет, это мой первый шорткод!</p>';
}
add_shortcode('wpstandart_hello', 'wpstandart_hello_shortcode');

После добавления этого кода в файл functions.php вашей темы или в отдельный плагин, вы сможете использовать в редакторе WordPress тег [wpstandart_hello], и на странице появится текст приветствия.

Обработка параметров в шорткодах

Часто необходимо, чтобы шорткод принимал параметры, например, цвет текста, заголовок или количество элементов. Для этого функция шорткода принимает аргумент с параметрами.

Рассмотрим пример шорткода, который выводит цветной заголовок:

function wpstandart_colored_title_shortcode($atts, $content = null) {
    $atts = shortcode_atts(
        array('color' => 'blue'), $atts, 'wpstandart_colored_title'
    );
    return '<h2 style="color:' . esc_attr($atts['color']) . '">' . esc_html($content) . '</h2>';
}
add_shortcode('wpstandart_colored_title', 'wpstandart_colored_title_shortcode');

Теперь, чтобы вывести заголовок красного цвета, нужно написать в редакторе:

[wpstandart_colored_title color="red"]Мой заголовок[/wpstandart_colored_title]

Если параметр не указан, цвет будет синим по умолчанию.

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

Рассмотрим более сложный пример — шорткод, который выводит список последних записей с их заголовками и ссылками.

function wpstandart_recent_posts_shortcode($atts) {
    $atts = shortcode_atts(
        array('count' => 5), $atts, 'wpstandart_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('wpstandart_recent_posts', 'wpstandart_recent_posts_shortcode');

Использовать шорткод можно так:

[wpstandart_recent_posts count="3"]

Этот шорткод выведет список из трёх последних записей блога с ссылками.

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

Shortcodes Ultimate

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

Custom Shortcodes

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

Code Snippets

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

Советы и лучшие практики при создании шорткодов

  • Всегда используйте префиксы в именах функций и шорткодов, чтобы избежать конфликтов. В нашем случае это wpstandart_.
  • Обязательно экранируйте данные, выводимые в HTML, с помощью esc_html(), esc_attr() и других функций безопасности.
  • Если шорткод выводит сложный HTML, лучше возвращать строку, а не использовать echo.
  • Для сложных задач используйте классы и отдельные файлы, чтобы код оставался чистым и поддерживаемым.
  • Тестируйте шорткоды на разных темах и с другими плагинами, чтобы убедиться в их совместимости.

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

Как правильно удалить или изменить URL продуктов в WooCommerce без потери SEO
17.04.2026
Как удалить неактивных пользователей WordPress с помощью кода
02.06.2026
Как создать автоматический импорт данных из Google Sheets в WordPress
06.02.2026
Как создать собственный тип записи в WordPress с примером кода
09.01.2026
Оптимизация базы данных WordPress: удаление связанных и устаревших данных
02.12.2025