Как создать и использовать шорткоды в WordPress

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

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

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

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

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

Например, плагин Contact Form 7 использует шорткоды для вывода форм: [contact-form-7 id="123" title="Форма обратной связи"].

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

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

function wptemp_current_date_shortcode() {
    return date('d.m.Y');
}
add_shortcode('wptemp_current_date', 'wptemp_current_date_shortcode');

После добавления этого кода в файл functions.php вашей темы или в плагин, можно использовать шорткод [wptemp_current_date] в любом месте сайта, и он выведет текущую дату в формате ДД.ММ.ГГГГ.

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

Добавление параметров в шорткод: динамическая настройка вывода

Чтобы сделать шорткод более универсальным, можно передавать параметры. Например, добавим параметр format, чтобы менять формат даты:

function wptemp_current_date_shortcode($atts) {
    $atts = shortcode_atts(
        array('format' => 'd.m.Y'),
        $atts,
        'wptemp_current_date'
    );
    return date($atts['format']);
}
add_shortcode('wptemp_current_date', 'wptemp_current_date_shortcode');

Теперь вызов [wptemp_current_date format="Y-m-d"] выведет дату в формате 2024-06-10. Это позволяет гибко настраивать вывод без изменения кода.

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

1. Кнопка с настраиваемым текстом и ссылкой

Часто нужно вставлять кнопки с разными ссылками. Создадим шорткод для кнопки:

function wptemp_button_shortcode($atts) {
    $atts = shortcode_atts(
        array(
            'url' => '#',
            'text' => 'Нажми меня',
            'color' => '#0073aa'
        ),
        $atts,
        'wptemp_button'
    );
    return '<a href="'.esc_url($atts['url']).'" style="display:inline-block;padding:10px 20px;background:'.esc_attr($atts['color']).';color:#fff;text-decoration:none;border-radius:3px;">'.esc_html($atts['text']).'</a>';
}
add_shortcode('wptemp_button', 'wptemp_button_shortcode');

Пример использования: [wptemp_button url="https://wptemp.ru" text="Перейти на сайт" color="#ff6600"]

2. Вывод последних записей блога

Полезно показывать список последних постов в любом месте сайта:

function wptemp_latest_posts_shortcode($atts) {
    $atts = shortcode_atts(array('count' => 5), $atts, 'wptemp_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('wptemp_latest_posts', 'wptemp_latest_posts_shortcode');

Добавьте [wptemp_latest_posts count="3"] для показа трёх последних публикаций.

Использование плагинов для расширения функционала шорткодов

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

  • Shortcoder — позволяет создавать собственные шорткоды с HTML, CSS, JS без программирования.
  • WP Shortcode — набор готовых шорткодов для кнопок, колонок, табов и другого.
  • Shortcodes Ultimate — мощный плагин с большим набором визуальных шорткодов и редактором.

Эти инструменты помогут быстро добавить функциональность на сайт без глубоких знаний PHP.

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

При разработке шорткодов важно учитывать безопасность:

  • Всегда экранируйте входящие данные с помощью esc_html, esc_url и подобных функций.
  • Используйте shortcode_atts для обработки параметров и установки значений по умолчанию.
  • Не выводите напрямую пользовательский ввод без проверки.

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

Как зарегистрировать шорткод в плагине для wptemp.ru

Если планируете использовать шорткоды в собственном плагине, структура будет примерно такой:

/**
 * Plugin Name: WPTEMP Shortcodes
 * Description: Набор кастомных шорткодов для сайта wptemp.ru
 * Version: 1.0
 * Author: Ваше Имя
 */

function wptemp_plugin_sample_shortcode() {
    return 'Это пример шорткода из плагина WPTEMP';
}
add_shortcode('wptemp_sample', 'wptemp_plugin_sample_shortcode');

Так вы отделите функционал от темы и сможете обновлять его отдельно.

Как эффективно использовать wp_enqueue_style и wp_enqueue_script в WordPress
26.03.2026
Как удалить мета данные при удаленном удалении записей в WordPress
24.12.2025
Как отключить Emoji в WordPress для ускорения сайта
02.01.2026
Как автоматизировать создание чрезвычайных резервных копий в WordPress
08.02.2026
Как использовать WP-CLI для управления темами и плагинами WordPress
29.01.2026