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

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

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

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

Преимущества использования шорткодов:

  • Упрощают работу с контентом для редакторов и авторов;
  • Позволяют повторно использовать один и тот же функционал;
  • Обеспечивают безопасность, так как код централизован и контролируем;
  • Расширяют возможности темы и плагинов.

Давайте рассмотрим, как создать собственный шорткод на примере сайта с доменом wp7.ru.

Регистрация простого шорткода: пример и объяснение

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

Например, создадим шорткод [wp7_hello], который выводит приветственное сообщение.

function wp7_hello_shortcode() {
    return '<p>Привет, это шорткод от wp7.ru!</p>';
}
add_shortcode('wp7_hello', 'wp7_hello_shortcode');

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

Шорткод с параметрами: как передавать аргументы

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

Расширим наш пример, добавив параметр name для персонализации приветствия.

function wp7_hello_shortcode($atts) {
    $atts = shortcode_atts(
        array('name' => 'Гость'),
        $atts,
        'wp7_hello'
    );
    return '<p>Привет, ' . esc_html($atts['name']) . '! Это шорткод от wp7.ru.</p>';
}
add_shortcode('wp7_hello', 'wp7_hello_shortcode');

Теперь вы можете использовать шорткод так: [wp7_hello name="Алексей"], и выведется "Привет, Алексей! Это шорткод от wp7.ru."

Создание сложного шорткода с HTML и логикой

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

function wp7_latest_posts_shortcode($atts) {
    $atts = shortcode_atts(
        array('count' => 5),
        $atts,
        'wp7_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('wp7_latest_posts', 'wp7_latest_posts_shortcode');

Теперь, используя [wp7_latest_posts count="3"], вы выведете список из 3 последних постов. Это удобно для размещения актуальных материалов в любом месте сайта.

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

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

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

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

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

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

  • Всегда используйте функции очистки данных, например esc_html() или esc_attr(), для защиты от XSS.
  • Не выполняйте опасный PHP-код или запросы без проверки прав пользователя.
  • Оптимизируйте запросы к базе, чтобы не нагружать сайт.

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

Заключение: как использовать шорткоды на wp7.ru

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

Как создать собственный шорткод в WordPress: подробное руководство
31.10.2025
Как удалить или заблокировать плагин WordPress правильно: пошаговое руководство
08.11.2025