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

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

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

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

Это особенно полезно, если вы хотите предоставить клиентам или редакторам возможность вставлять сложные элементы без знаний программирования.

Основы создания шорткода в WordPress

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

function wpbuy_custom_shortcode_example($atts) {
    $atts = shortcode_atts(array(
        'text' => 'Привет, мир!'
    ), $atts, 'wpbuy_hello');
    return '<p>' . esc_html($atts['text']) . '</p>';
}
add_shortcode('wpbuy_hello', 'wpbuy_custom_shortcode_example');

Здесь мы создали шорткод [wpbuy_hello text="Ваш текст"], который выводит параграф с заданным текстом. Если параметр не передан — выводится «Привет, мир!».

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

Для удобства и гибкости шорткоды могут принимать параметры (атрибуты). В функции используется shortcode_atts() для объединения переданных атрибутов с дефолтными значениями.

Например, добавим параметр color, чтобы менять цвет текста:

function wpbuy_custom_shortcode_color($atts) {
    $atts = shortcode_atts(array(
        'text' => 'Привет, мир!',
        'color' => '#000000'
    ), $atts, 'wpbuy_color_text');

    return '<p style="color:' . esc_attr($atts['color']) . ';">' . esc_html($atts['text']) . '</p>';
}
add_shortcode('wpbuy_color_text', 'wpbuy_custom_shortcode_color');

Теперь в редакторе можно использовать: [wpbuy_color_text text="Текст" color="#ff0000"], и текст будет красным.

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

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

function wpbuy_latest_posts_shortcode($atts) {
    $atts = shortcode_atts(array(
        'count' => 3
    ), $atts, 'wpbuy_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('wpbuy_latest_posts', 'wpbuy_latest_posts_shortcode');

Шорткод [wpbuy_latest_posts count="5"] выведет 5 последних опубликованных записей в виде списка с ссылками.

Лучшие плагины для создания шорткодов без кода

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

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

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

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

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

  • Используйте esc_html(), esc_attr() для вывода текста.
  • Не выполняйте напрямую пользовательский ввод без фильтрации.
  • Если используете пользовательский ввод для запросов, обязательно применяйте функции подготовки запросов.

Например, в примерах выше мы использовали esc_html() и esc_attr() для защиты.

Как подключить шорткод в теме или плагине на wpbuy.ru

Чтобы использовать шорткод на сайте, добавьте код в файл functions.php вашей темы или в отдельный плагин. Рекомендуется создавать дочернюю тему или собственный плагин, чтобы изменения не потерялись при обновлениях.

Пример создания простого плагина:

/*
Plugin Name: WPBuy Custom Shortcodes
Description: Набор кастомных шорткодов для сайта wpbuy.ru
Version: 1.0
Author: WPBuy
*/

// Здесь добавьте функции шорткодов

После активации плагина шорткоды будут доступны на сайте.

Итог: когда и зачем создавать собственные шорткоды

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

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

Как автоматизировать вывод отзывов в WordPress с помощью Expert Review
15.03.2026
WooCommerce AJAX обновление корзины без перезагрузки страницы: практическое руководство
20.04.2026
Как создать динамические таблицы в WordPress с помощью шорткодов
26.12.2025
WooCommerce: как автоматически удалять неактивные заказы
23.04.2026
Автообновление темы WordPress на wpbuy.ru: настройка и устранение ошибок
25.11.2025