WordPress

WordPress как добавить шорткод

📅 ⏱ 20:55 ⏳ 1 мин 💬 0

Wordpress как добавить шорткод: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрываем

Коротко: шорткод в WordPress добавляют функцией add_shortcode() в мини-плагине или functions.php дочерней темы, а затем используют в редакторе как [имя]. Атрибуты передают внутри скобок: [имя title="Привет"]. Выводить данные нужно с экранированием.

Кому и зачемШорткод — способ вставить в контент что-то «динамическое»: форму, кнопку, блок с параметрами. Клиент вставляет короткий код — и получает готовый блок.

Как это работает

Шаг Что делаем
Регистрация add_shortcode()
Использование [my_shortcode] в редакторе
Атрибуты [my_shortcode title="..."]
Закрывающий [my_shortcode]текст[/my_shortcode]

Вкладки: примеры




JAVASCRIPT
add_shortcode('hello', function () {
  return '<p>Привет!</p>';
});

В записи пишете [hello] — на сайте появится абзац. Функция должна вернуть строку, а не выводить её через echo.

JAVASCRIPT
add_shortcode('box', function ($atts) {
  $atts = shortcode_atts([
    'title' => 'Заголовок',
    'color' => 'brand',
  ], $atts);

  return sprintf(
    '<div class="box box--%s"><h3>%s</h3></div>',
    esc_attr($atts['color']),
    esc_html($atts['title'])
  );
});

shortcode_atts() задаёт значения по умолчанию. Экранируйте значения: esc_attr() для атрибутов, esc_html() для текста.

JAVASCRIPT
add_shortcode('note', function ($atts, $content = null) {
  return '<div class="note">' . do_shortcode($content) . '</div>';
});

Такой шорткод «оборачивает» содержимое: [note]Текст с оформлением[/note]. do_shortcode() позволяет вкладывать другие шорткоды.

  • в записи или странице (блок «Короткий код»);
  • в блоке «HTML» вместе с текстом;
  • в шаблоне через do_shortcode('[box]');
  • в виджете (если он поддерживает шорткоды);
  • в описании рубрики.

Где код хранить: мини-плагин (лучше) или functions.php дочерней темы.

Return, а не echoГлавная ошибка новичков — использовать echo внутри шорткода. Тогда вывод появляется «не там» (в начале страницы). Функция должна возвращать строку.

Практика: создать шорткод

  1. Создайте мини-плагин или откройте functions.php дочерней темы.
  2. Зарегистрируйте шорткод через add_shortcode().
  3. Обработайте атрибуты через shortcode_atts().
  4. Экранируйте все данные при выводе.
  5. Проверьте вывод в записи.
  6. Добавьте стили класса в свою таблицу стилей.
  7. Проверьте на мобильном и с клавиатуры.

Частые ошибки: причина → решение

Симптом Причина Решение
Код виден как текст шорткод не зарегистрирован проверить add_shortcode
Вывод «вверху страницы» использован echo вернуть строку
Атрибуты не работают не обработан $atts shortcode_atts()
Уязвимость XSS нет экранирования esc_* функции

Проверьте себя

Чек-лист




Что должна делать функция шорткода?




Как передать параметр в шорткод?




Вопросы и ответы

Да, если внутри использовать do_shortcode($content). Без этого вложенный код останется текстом.

В мини-плагине (сохранится при смене темы) или в functions.php дочерней темы. Не в родительской теме.

Да, есть блок «Шорткод», куда вставляют код. Также можно вставлять шорткод прямо в блок «HTML».

Дайте разметке классы и опишите их в CSS темы или в «Дополнительных стилях». Так вывод оформляется системно.

Итоги

  • Шорткод регистрируют через add_shortcode().
  • Функция возвращает строку, а не выводит её.
  • Атрибуты обрабатывают shortcode_atts(), данные экранируют.
  • Код храните в мини-плагине или дочерней теме.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

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

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

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

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость