При создании многоколоночных шаблонов 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-ом