У многих пользователей виджеты ассоциируются со средством организации разных элементов в сайдбаре. Да, зачастую именно для этого они и используются, но это не значит, что применение виджетов ограничивается именно этой областью. Ведь для кого-то виджеты являются мощным инструментом, позволяющим решать самые разнообразные задачи.
Содержание статьи
Создание зон для виджетов
Многие привыкли только к одной области под виджеты. Но одной области уже недостаточно, поэтому мы рассмотрим простой способ создания нескольких зон для виджетов. А для этого нужно зарегистрировать данные области в уже известном нам файле functions.php. Ну а если вы не владеете знаниями чтобы это все сделать или хотите полностью новый сайт, тов ы можете заказать его в Веб-студии Seora.
Рассмотрим пример, когда нужно создать два сайдбара слева и справа:
register_sidebar( array(
‘name’ => ‘left-sidebar’,
‘id’ => ‘left-sidebar’,
‘before_widget’ => ‘
‘after_widget’ => ‘
‘before_title’ => ‘
’,
‘after_title’ => ‘’
) );
register_sidebar( array(
‘name’ => ‘right-sidebar’,
‘id’ => ‘right-sidebar’,
‘before_widget’ => ‘
‘after_widget’ => ‘
‘before_title’ => ‘
’,
‘after_title’ => ‘’
) );
?>
Но это только начало, ведь виджеты нужно будет еще и активировать. Для этого необходимо разместить динамичный код сайдбара в файле sidebar.php или в другом файле, что зависит от текущей темы:
Default left sidebar stuff here…
Default right sidebar stuff here…
PHP-код между тегами будет отображаться, если в соответствующей области не будет использовано никаких виджетов.
Разные виджеты на каждой странице
Изначально все виджеты выглядят одинаково на разных страницах, но воспользовавшись Widget Logic ситуацию можно изменить: в блоки опций каждого виджета появится поле ввода данного плагина. В это поле можно ввести набор тегов, позволяющих управлять виджетами. Попробуем ввести в этих полях нечто подобное:
- Показывать только на главной странице: is_home()
- Показывать только на страницах отдельных постов: is_single()
- Показывать только на страницах: is_page()
- Показывать на страницах архива (категория, тег, и т.д.) is_archive()
- Показывать на страницах результатов поиска: is_search()
- Показывать на всех страницах кроме главной: !is_home()
- Показывать на странице “Advertise” или “Contact” : is_page(‘advertise’) || is_page(‘contact’)
Этим вы сможете менять расположение виджетов…
Продолжение в уроке 34.2.