Найти тему
Top-Bit.biz

ПОЛЕЗНЫЕ СПОСОБЫ ИСПОЛЬЗОВАНИЯ ВИДЖЕТОВ WORDPRESS

Оглавление

У многих пользователей виджеты ассоциируются со средством организации разных элементов в сайдбаре. Да, зачастую именно для этого они и используются, но это не значит, что применение виджетов ограничивается именно этой областью. Ведь для кого-то виджеты являются мощным инструментом, позволяющим решать самые разнообразные задачи.
У многих пользователей виджеты ассоциируются со средством организации разных элементов в сайдбаре. Да, зачастую именно для этого они и используются, но это не значит, что применение виджетов ограничивается именно этой областью. Ведь для кого-то виджеты являются мощным инструментом, позволяющим решать самые разнообразные задачи.

Создание зон для виджетов

Многие привыкли только к одной области под виджеты. Но одной области уже недостаточно, поэтому мы рассмотрим простой способ создания нескольких зон для виджетов. А для этого нужно зарегистрировать данные области в уже известном нам файле functions.php.

Рассмотрим пример, когда нужно создать два сайдбара слева и справа:

<?php

register_sidebar( array(

‘name’ => ‘left-sidebar’,

‘id’ => ‘left-sidebar’,

‘before_widget’ => ‘<div id=”%1$s”>’,

‘after_widget’ => ‘</div>’,

‘before_title’ => ‘<h3>’,

‘after_title’ => ‘</h3>’

) );

register_sidebar( array(

‘name’ => ‘right-sidebar’,

‘id’ => ‘right-sidebar’,

‘before_widget’ => ‘<div id=”%1$s”>’,

‘after_widget’ => ‘</div>’,

‘before_title’ => ‘<h3>’,

‘after_title’ => ‘</h3>’

) );

?>

Но это только начало, ведь виджеты нужно будет еще и активировать. Для этого необходимо разместить динамичный код сайдбара в файле sidebar.php или в другом файле, что зависит от текущей темы:

<?php if (!dynamic_sidebar(“left-sidebar”) ) : ?>

Default left sidebar stuff here…

<?php endif; ?>

<?php if (!dynamic_sidebar(“right-sidebar”) ) : ?>

Default right sidebar stuff here…

<?php endif; ?>

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.