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

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

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

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

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

Как создать собственный шорткод: пошаговая инструкция

1. Регистрация шорткода в functions.php

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

function journalx_custom_shortcode($atts, $content = null) {
    // Обработка атрибутов с дефолтными значениями
    $atts = shortcode_atts(array(
        'title' => 'Заголовок по умолчанию',
        'count' => 5
    ), $atts, 'journalx_shortcode');

    // Формируем HTML вывод
    $output = '<div class="journalx-shortcode">';
    $output .= '<h3>' . esc_html($atts['title']) . '</h3>';
    $output .= '<ul>';
    for ($i = 1; $i <= intval($atts['count']); $i++) {
        $output .= '<li>Пункт ' . $i . '</li>';
    }
    $output .= '</ul>';
    $output .= '</div>';

    return $output;
}
add_shortcode('journalx_shortcode', 'journalx_custom_shortcode');

В этом примере мы создали шорткод [journalx_shortcode title="Мой список" count="3"], который выведет список с заголовком и заданным количеством пунктов.

2. Использование атрибутов в шорткоде

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

Вы можете добавить любые параметры — цвета, ID постов, ссылки и т.д. Важно всегда обрабатывать и экранировать данные для безопасности.

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

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

function journalx_latest_posts_shortcode($atts) {
    $atts = shortcode_atts(array(
        'count' => 5,
        'category' => ''
    ), $atts, 'journalx_latest_posts');

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

    if (!empty($atts['category'])) {
        $args['category_name'] = sanitize_text_field($atts['category']);
    }

    $query = new WP_Query($args);
    if (!$query->have_posts()) {
        return '<p>Записей не найдено.</p>';
    }

    $output = '<ul class="journalx-latest-posts">';
    while ($query->have_posts()) {
        $query->the_post();
        $output .= '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a> – <em>' . get_the_date() . '</em></li>';
    }
    $output .= '</ul>';
    wp_reset_postdata();

    return $output;
}
add_shortcode('journalx_latest_posts', 'journalx_latest_posts_shortcode');

Используйте шорткод [journalx_latest_posts count="3" category="novosti"], чтобы вывести 3 последние записи из категории «новости».

Полезные советы по созданию шорткодов в WordPress

Безопасность и экранирование данных

Всегда экранируйте выводимые данные с помощью функций esc_html(), esc_url() и подобных. Это защитит сайт от XSS-атак и некорректного вывода.

Оптимизация производительности

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

Совместимость с визуальными редакторами

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

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

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

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

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

Заключение

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

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как удалить заголовок H2 из сообщений WooCommerce без нарушения стилей
20.04.2026
Как удалить Emoji в WordPress с помощью плагинов и кода
20.11.2025
Как автоматически отключить комментарии в WordPress на старых постах
30.03.2026
Как создать автоматический журнал активности пользователей в WordPress
21.02.2026
Как удалить текст из визуального редактора WordPress без оставшихся пустых страниц
09.12.2025
×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙