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

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

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

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

Многие WordPress-темы включают такую возможность (например, шаблоны от WPShop). Но что делать, ваш шаблон не поддерживает эту функцию? Рассмотрим несколько способов, дающих такую возможность.

Способ 1. Плагин Shortcode Widget

Shortcode Widget — это бесплатный плагин, добавляющий собственный виджет с поддержкой отображения содержимого шорткодов. Первым делом его нужно установить и активировать, после чего перейти на страницу WordPress-виджетов (Внешний вид -> Виджеты).

Админ-раздел Виджеты

Видно, что плагин добавил свой виджет Shortcode Widget. Его нужно перетащить в нужное место области виджетов на вашем сайте. После этого в поле Content можете смело вставлять необходимые шорткоды. Не забудьте сохранить все изменения (кнопка Сохранить).

Виджет Shortcode Widget

Способ 2. Вручную

Если вы не желаете устанавливать на свой WordPress-сайт дополнительных плагинов, то этот способ будет неплохим вариантом. Он предусматривает редактирование файла functions.php активной темы на сайте.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Чтобы дать возможность системе отображать содержимое шорткодов в виджетах, следует в самый конец указанного файла добавить следующие строки PHP-кода:

// включение возможности отображение шорткодов в виджетах
add_filter( 'widget_text', 'do_shortcode' );

В коде был задействован специальный WordPress-фильтр, который разрешает выполнение всех шорткодов внутри текстовых виджетов.

Это означает, что теперь в том же виджете Текст будет отображено содержимое добавленного вами шорткода.

Курс WordPress-разработчик
Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров