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

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

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

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

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

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

Для разработчиков создание собственных шорткодов — это простой способ добавлять уникальные элементы на сайт без изменения шаблонов.

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

WordPress уже содержит несколько встроенных шорткодов. Вот самые распространенные:

  • [gallery ids="1,2,3"] — выводит галерею изображений по ID.
  • [audio src="url"] — вставка аудиоплеера.
  • [video src="url"] — вставка видеоплеера.
  • [caption id="" align="alignnone" width=""]Текст подписи — добавляет подпись к изображению.

Для использования шорткода достаточно вставить его в редактор контента. Например:

[gallery ids="10,15,20"]

Отобразит галерею из изображений с ID 10, 15 и 20.

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

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

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

function expert_review_current_date_shortcode() {
    return date('d.m.Y');
}
add_shortcode('current_date', 'expert_review_current_date_shortcode');

Теперь в любом месте сайта можно вставить [current_date], и он выведет дату в формате ДД.ММ.ГГГГ.

Параметры шорткода

Шорткоды могут принимать параметры для настройки вывода. Пример расширенного шорткода, который выводит приветствие с именем:

function expert_review_greeting_shortcode($atts) {
    $atts = shortcode_atts(array(
        'name' => 'Гость'
    ), $atts, 'greeting');

    return 'Привет, ' . esc_html($atts['name']) . '!';
}
add_shortcode('greeting', 'expert_review_greeting_shortcode');

Использование: [greeting name="Алексей"] выведет «Привет, Алексей!».

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

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

Иногда нужно вывести список последних постов в любом месте сайта. Вот пример шорткода, который выводит 5 последних записей с ссылками:

function expert_review_latest_posts_shortcode($atts) {
    $atts = shortcode_atts(array(
        'count' => 5
    ), $atts, 'latest_posts');

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

    if (!$query->have_posts()) {
        return 'Нет записей для отображения.';
    }

    $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('latest_posts', 'expert_review_latest_posts_shortcode');

Использование: [latest_posts count="3"] выведет 3 последние записи.

Шорткод с выводом пользовательского поля

Если у записи есть дополнительное поле (custom field), его можно вывести через шорткод. Пример:

function expert_review_custom_field_shortcode($atts) {
    $atts = shortcode_atts(array(
        'field' => '',
        'post_id' => get_the_ID()
    ), $atts, 'custom_field');

    if (empty($atts['field'])) {
        return '';
    }

    $value = get_post_meta($atts['post_id'], $atts['field'], true);

    return esc_html($value);
}
add_shortcode('custom_field', 'expert_review_custom_field_shortcode');

Использование: [custom_field field="author_name"] выведет значение поля author_name текущей записи.

Рекомендации по безопасности и оптимизации шорткодов

При создании шорткодов важно соблюдать несколько правил:

  • Используйте shortcode_atts() для обработки параметров и установки значений по умолчанию.
  • Обязательно экранируйте вывод с помощью esc_html(), esc_url() или других функций, чтобы избежать XSS-уязвимостей.
  • Используйте wp_reset_postdata() после пользовательских запросов, чтобы не нарушать глобальный объект $post.
  • Минимизируйте нагрузку — не создавайте тяжелые запросы без необходимости.

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

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

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

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

Как зарегистрировать шорткод в виде плагина (пример)

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

<?php
/*
Plugin Name: Expert Review Current Date Shortcode
Description: Добавляет шорткод [current_date] для вывода текущей даты.
Version: 1.0
Author: Expert Review
*/

function expert_review_current_date_shortcode() {
    return date('d.m.Y');
}
add_shortcode('current_date', 'expert_review_current_date_shortcode');

Сохраните этот код в файл expert-review-current-date.php и загрузите в папку wp-content/plugins/, затем активируйте плагин через админку WordPress.

Заключение

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

Как использовать WPRemark для эффективного управления отзывами в WordPress
01.01.2026
Как создать обязательное поле в форме WordPress с помощью WPRemark
12.04.2026
Как отключить AJAX в WooCommerce для ускорения оформления заказа
04.05.2026
Как удалить неиспользуемые таксономии в WordPress
23.03.2026
Как реализовать двойной вызов функций в WordPress
27.02.2026