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

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

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

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

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

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

  • Упрощение вставки сложных элементов в контент.
  • Возможность многократного использования одного и того же функционала.
  • Отделение логики от оформления — код можно менять отдельно от контента.

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

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

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

function wproot_hello_shortcode($atts) {
  // Обработка атрибутов с значением по умолчанию
  $atts = shortcode_atts(
    array('name' => 'гость'),
    $atts,
    'wproot_hello'
  );

  return '<p>Привет, ' . esc_html($atts['name']) . '! Добро пожаловать на wproot.ru.</p>';
}
add_shortcode('wproot_hello', 'wproot_hello_shortcode');

Теперь в редакторе контента можно использовать шорткод: [wproot_hello name="Андрей"], и он выведет: «Привет, Андрей! Добро пожаловать на wproot.ru.»

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

Продвинутые возможности шорткодов: параметры, вложенные шорткоды и вывод HTML

Обработка нескольких атрибутов

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

function wproot_button_shortcode($atts) {
  $atts = shortcode_atts(
    array(
      'text' => 'Нажми меня',
      'url' => '#',
      'color' => 'blue'
    ),
    $atts,
    'wproot_button'
  );

  $color = in_array($atts['color'], array('blue', 'red', 'green')) ? $atts['color'] : 'blue';

  return '<a href="' . esc_url($atts['url']) . '" class="wproot-button wproot-button-' . esc_attr($color) . '">' . esc_html($atts['text']) . '</a>';
}
add_shortcode('wproot_button', 'wproot_button_shortcode');

В редакторе пример использования: [wproot_button text="Подробнее" url="https://wproot.ru" color="red"]

Для стилизации кнопок добавьте CSS классы в файл стилей темы:

.wproot-button {
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
  color: #fff;
  font-weight: bold;
}
.wproot-button-blue { background-color: #0073aa; }
.wproot-button-red { background-color: #d63638; }
.wproot-button-green { background-color: #46b450; }

Вложенные шорткоды

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

function wproot_box_shortcode($atts, $content = null) {
  $content = do_shortcode($content); // Обрабатываем вложенные шорткоды
  return '<div class="wproot-box">' . $content . '</div>';
}
add_shortcode('wproot_box', 'wproot_box_shortcode');

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

[wproot_box]
  Это текст внутри блока. <br>
  [wproot_button text="Кнопка внутри блока" url="https://wproot.ru"]
[/wproot_box]

В результате будет выведен блок с вложенной кнопкой.

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

При создании шорткодов важно:

  • Очистить и экранировать все входные данные — используйте esc_html, esc_url и другие функции WordPress.
  • Минимизировать тяжелые операции внутри шорткодов, чтобы не замедлять загрузку страниц.
  • Использовать кеширование, если шорткод выводит сложный или ресурсоёмкий контент.

Также, если шорткод выводит сложную верстку, удобно вынести HTML в отдельные шаблонные файлы и подключать их через locate_template или load_template.

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

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

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

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

Итоги и рекомендации по созданию шорткодов на wproot.ru

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

Начинайте с простых примеров, постепенно усложняя функциональность, и вы быстро освоите этот важный инструмент разработчика WordPress.

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

⭐⭐⭐⭐⭐
Как использовать хуки в WordPress для автоматизации и расширения функционала
04.12.2025
Как удалить meta tag generator в WordPress: практическое руководство
21.11.2025
Как создать собственный шорткод в WordPress: подробное руководство
17.11.2025
Как создать уникальный виджет WordPress с настройками и примерами кода
28.11.2025
Как удалить все очередные задачи в WordPress Cron: практическое руководство
09.11.2025
×
Делай контент живым!

Скидка 15% на премиум-плагин WPStories

Создать истории сейчас⋙