При создании многоколоночных шаблонов WordPress бывает нужно проверить наличие виджетов в сайдбаре.
Функция
is_active_sidebar()
как раз реализовывает такой функционал, работает это следующим образом, как и все функции начинающиеся с is_* возвращает true или false в зависимости от выполнения условия.
Таким образом можно представить следующий сценарий использования в шаблоне
<?php if ( is_active_sidebar( 'sidebar-left' ) ) : ?>
<div class="sidebar-left">
<?php dynamic_sidebar( 'sidebar-left' ); ?>
</div>
<?php endif; ?>
[code]
Что происходит функция шаблона принимает id сайдбара, если в сайдбаре закреплен хотя бы один виджет то сайдбар обернутый в div классом sidebar-left выведется в шаблоне , если нет то не выводится ничего.
Так же стоить отметить что id сайдбара этот тот самый идентификатор который указывается при его создании через функцию <pre>register_sidebar( )</pre> в элементе id в моем случае сайдбар создавался примерно так:
[code]
register_sidebar(
array(
'id'=> 'sidebar-left',
/*
другие параметры
*/
)
);
Так же следует заметить тот факт при использовании стандартное функции для задания классов страниц
body_class($class)
для элемента
body
, вы также id всех активных сайдбаров в качестве названий класса тега body




Срытие )
Да спасибо, прогнал speler-ом