Виджеты и зоны виджетов представляют особый интерес для разработчиков. Они позволяют реализовать различную смешанную функциональность, которой так гордятся многие крупные ресурсы. Начиная с версии 2.8, WordPress стал обладать более продуманной поддержкой виджетов, благодаря чему значительно расширилась сфера их применения. Зоны виджетов можно расположить практически в любом месте вашего сайта. Однако, стоит обязательно убедиться в том, что виджеты не будут ничего выводить по умолчанию, в противном случае сайт превратится в одно большое нагромождение информации. Также не стоит располагать пустые зоны виджетов с учетом того, что возможно, в далеком будущем они вам пригодятся. Расположение виджетов должно отвечать вашим текущим требованиям.
Допустим, вы разместили несколько зон виджетов. Теперь перейдем к тому, как их правильно использовать. Помимо стандартных виджетов, доступных в панели администратора, вам могут понадобиться виджеты, выполняющие какие-либо определенные действия. Стандартные виджеты, несмотря на то, что они позволяют решать часто возникающие задачи, не всегда удовлетворяют требованиям проектировщика.
Наиболее часто используемым виджетом является виджет добавления произвольного текста. Почему именно он? Потому что в нем можно разместить любой HTML-код, отвечающий за требуемое представление страницы.
Придание динамичности виджетам
Если ваш сайт выполнен в журнальном стиле, вы всегда можете развернуть так называемые «рекламные щиты» (roadblocks) — специальные объявления, занимающие значительное пространство сайта и позволяющие получить стопроцентный просмотр со стороны посетителей. Простое добавление соответствующего кода в одну из зон виджетов, окруженных элементами сайта, ни к чему хорошему не приведет; гораздо удобнее было бы произвести замену некоторых частей содержания сайта. Этот эффект довольно легко осуществим благодаря тому факту, что зоны виджетов могут быть предварительно загружены некоторой информацией.
Пусть зона виджетов носит название Teaser и обладает какой-либо начальной информацией, которая будет ежедневно обновляться:
<?php if ( !function_exists('Teaser') || !dynamic_sidebar() ) : ?> [The normal content would go here. Links, headlines, whatever. . . ] <?php endif; ?>
Разместите в этой области любую информацию: заголовки, опросы, списки, ссылки, циклы. Теперь, когда вы перетащите какой-либо виджет в область, названную Teaser, ее начальная информация будет заменена той, которая определена виджетом. После его удаления область снова примет свой первоначальный вид, т.е. будет содержать базовую информацию. Удобно, не правда ли?
Другое популярное использование виджетов — создание навигационных меню, при помощи которых пользователь может самостоятельно добавлять в меню необходимые пункты без привлечения разработчика проекта.