wplinks.ru wordpress WPLinks.ru

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

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

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

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

Преимущества создания собственных шорткодов:

  • Удобство использования — достаточно вставить короткую метку;
  • Повторное использование кода без дублирования;
  • Изоляция логики и визуального вывода;
  • Возможность параметризации и настройки поведения.

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

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

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

Пример создания шорткода [wplinks_hello], который выводит приветствие:

function wplinks_hello_shortcode() {
    return '<p>Привет от WPLinks!</p>';
}
add_shortcode('wplinks_hello', 'wplinks_hello_shortcode');

Этот код достаточно добавить в файл functions.php вашей темы или в отдельный плагин. После этого в любом месте сайта появится возможность вставить [wplinks_hello], и пользователи увидят текст "Привет от WPLinks!".

Где размещать код шорткодов

Лучший вариант — создавать отдельный плагин для своих шорткодов. Это позволит не потерять их при смене темы и поддерживать код отдельно. Если вы пока не готовы к плагинам, временно добавляйте код в functions.php активной темы. Но помните, что при обновлении темы эти изменения могут пропасть.

Параметры шорткода: как сделать шорткод динамичным

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

Рассмотрим пример шорткода, который выводит ссылку с настраиваемым адресом и текстом:

function wplinks_custom_link_shortcode($atts) {
    // Задаём значения по умолчанию
    $atts = shortcode_atts(
        array(
            'url' => 'https://wplinks.ru',
            'text' => 'Перейти на WPLinks'
        ), $atts, 'wplinks_link'
    );

    // Возвращаем HTML ссылки
    return '<a href="' . esc_url($atts['url']) . '" target="_blank" rel="noopener noreferrer">' . esc_html($atts['text']) . '</a>';
}
add_shortcode('wplinks_link', 'wplinks_custom_link_shortcode');

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

[wplinks_link url="https://example.com" text="Посетить Example"]

В результате на странице появится ссылка с заданным адресом и текстом. Это простой, но мощный способ создавать настраиваемые элементы.

Обработка вложенного контента в шорткодах

Иногда нужно, чтобы шорткод обрабатывал не только атрибуты, но и контент, заключённый между тегами шорткода. Например, выделить текст или обернуть его в стилизованный блок.

Для этого функция шорткода принимает второй параметр — вложенный контент $content. Важно использовать функцию do_shortcode(), если внутри вложенного контента могут быть другие шорткоды.

function wplinks_highlight_shortcode($atts, $content = null) {
    return '<span style="background-color:yellow;">' . do_shortcode($content) . '</span>';
}
add_shortcode('wplinks_highlight', 'wplinks_highlight_shortcode');

Использование:

[wplinks_highlight]Этот текст будет выделен желтым фоном.[/wplinks_highlight]

Такой подход позволяет создавать более сложные и интерактивные блоки контента.

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

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

Не стоит выполнять тяжелые операции внутри шорткодов, чтобы не замедлять загрузку страниц. Если нужна сложная логика, лучше использовать кэширование или AJAX-запросы.

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

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

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

  • Shortcodes Ultimate — набор из более чем 50 готовых шорткодов с визуальным редактором;
  • WP Shortcode by MyThemeShop — простой и лёгкий плагин с часто используемыми элементами;
  • Custom Content Shortcode — позволяет создавать собственные шорткоды для контента без программирования.

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

Заключение

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

Начинайте с простых шорткодов, постепенно добавляя параметры и обработку контента. Не забывайте про безопасность и производительность. И тогда шорткоды станут вашим надежным инструментом для создания мощных WordPress-сайтов.

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше