
Недавно член группы Genesis WP Facebook опубликовал вопрос об использовании коротких кодов для вставки областей виджетов в сообщения блога, а также о плюсах и минусах этого. У нас также было несколько клиентов, которые спрашивали нас об этом тоже.
Эта функция может быть полезна при попытке отобразить области виджетов внутри содержимого постов и страниц для специальных типов контента, таких как реклама или слайдеры изображений.
В этом посте мы предоставим удобную функцию, которая упрощает отображение областей виджетов с помощью коротких кодов.
Шаг 1
Добавьте следующий фрагмент кода в конец файла functions.php:
add_shortcode ('widget_area', 'prefix_widget_area_shortcode'); / ** * Показать область виджета с шорткодом. * * @since 1.0.0 * * @return string * / function prefix_widget_area_shortcode ($ atts) {$ atts = shortcode_atts (array ('id' => '',), $ atts, 'widget_area'); ob_start (); genesis_widget_area ($ atts ['id'], массив ('before' => '<div class = "'. $ atts ['id']. 'widget-area"> <div class = "wrap">', ' после '=>' </ div> </ div> ',)); return ob_get_clean (); }Эта функция регистрирует новый шорткод в WordPress под названием 'widget_area'. Он принимает один аргумент, называемый «id», который позволяет передавать идентификатор области виджета, который обычно представляет собой заголовок виджета в нижнем регистре, разделенный черточками.
Совет: список всех идентификаторов виджетов можно вывести в нижний колонтитул вашего сайта, добавив этот фрагмент в ваш файл functions.php. Не забудьте удалить, когда закончите.
Шаг 2
Как только вышеуказанная функция была добавлена в вашу тему, вы можете просто отобразить область виджета, используя шорткод [widget_area] и указав параметр id. Например, чтобы отобразить область виджета « Нижний колонтитул 1», вы должны использовать:
[widget_area id = "footer-1"]Вот и все, теперь вы можете отображать любую область виджетов в любом месте, где ваш сайт позволяет шорткоды.