Скрытие пустых сайдбаров в wordpress

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


Что происходит функция шаблона принимает id сайдбара, если в сайдбаре закреплен хотя бы один виджет то сайдбар обернутый в div классом sidebar-left выведется в шаблоне , если нет то не выводится ничего.

Так же стоить отметить что id сайдбара этот тот самый идентификатор который указывается при его создании через функцию <pre>register_sidebar( )</pre> в элементе id в моем случае  сайдбар создавался примерно так:


	register_sidebar( 
		array(
			'id'=> 'sidebar-left',
			/*
			другие параметры
			*/
		)
	);

Так же следует заметить тот факт при использовании стандартное функции для задания классов страниц

 body_class($class)

для элемента

body

, вы также id всех активных сайдбаров в качестве названий класса тега body

2 Комментариев

Добавить комментарий

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