В уроке 34.1 мы начали рассматривать возможности виджетов, в частности, рассмотрели создание нескольких зон для виджетов и смену расположения виджетов на разных страницах. Продолжим рассматривать различные возможности, которые могут пригодиться веб-мастеру.
Query Posts
Мощный инструмент, позволяющий управлять отображением постов и страниц в цикле. Данный плагин также можно использовать для отображения вордпрессовского контента на свой лад. Возможности решения:
- Упорядочивать отображение постов по тегам, категориям, дате и времени, авторам или специфическим значениям.
- Показывать нужное вам количество постов.
- Сортировать посты по айди, дате публикации и заголовкам в порядке возрастания или убывания.
- Показывать вордпресс-страницы.
Инструментом можно управлять из меню виджетов.
Виджеты 404
Довольно странно, что во многих темах шаблонам 404 не уделяется достаточно внимания. С одной стороны увидеть сообщение вроде «ошибка 404 – страница не найдена» и без того информативно, с другой – некоторые веб-мастера желают разнообразить даже эту страницу, чтобы она не выглядила совсем уж скучно в глазах пользователей сайта. Для этого есть множество виджетов, но для начала рассмотрим, что можно сделать при помощи известного всем файла functions.php:
<?php
register_sidebar( array(
‘name’ => ‘404’,
‘id’ => ‘404’,
‘before_widget’ => ‘<div id=”%1$s”>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h3>’,
‘after_title’ => ‘</h3>’
) );
?>
Теперь достаточно отредактировать файл 404.php вашей темы, добавив код:
<?php dynamic_sidebar( ‘404’ ); ?>
После этих действий можно добавлять любые виджеты в ваш виджет 404, они в свою очередь будут отображаться каждый раз, стоит посетителю сайта попасть на страницу ошибки 404. Но мы говорили о разнообразии данной страницы, так вот ее можно загрузить строками поиска, последними постами, списком категорий и т.д.
Рекламная вставка между постами
Вставить виджет можно между некоторым количеством постов. Конечно, все это можно использовать для любых задач, но чаще всего виджеты между записями размещают с рекламной целью. Как бы там ни было, будет интересен способ осуществления данного функционала у вас на страницах. Для этого, как и в случае со страницей 404 необходимо зарегистрировать данное решение. Так что снова открываем functions.php и вписываем:
<?php
register_sidebar( array(
‘name’ => ‘index-insert’,
‘id’ => ‘index-insert’,
‘before_widget’ => ‘<div id=”%1$s”>’,
‘after_widget’ => ‘</div>’,
‘before_title’ => ‘<h3>’,
‘after_title’ => ‘</h3>’
) );
?>
Теперь для установки на главной странице нужно открыть index.php, найти ближе к концу файла endwhile и над ним вставить код:
<?php if ($count==2) { ?>
<?php dynamic_sidebar(‘index-insert’) ?>
<?php } ?>
<?php $count = $count + 1; ?>
<?php endwhile; ?>
Этот код разместит зону для виджета после второго поста. Значение $count = меняет данную очередность.
Данный код можно вставлять и в другие файлы, archive.php, tag.php, category.php. Соответственно виджет появится в требуемой категории. Воспользовавшись плагином Widget Logic и используя теги условий is_archive(), is_tag(), is_category(), можно задавать страницу, на которой будет показан виджет.