Создание, продвижение в поисковых системах и сео оптимизация сайтов. Ведение блогов, заработок в интернет, внутренняя оптимизация, партнерские программы. SEO
Апр 16
2011
Отображение виджетов в WordPress
Что делать, когда хотеться отображать виджет только на главной или на некоторых страницах? По умолчанию виджеты, добавленные в шаблон вордпресс через пункт в админке, отображаться на всех страницах.
Иногда нужно их отобразить не на всех страницах, а только на некоторых.
Как управлять отображением виджетов в WordPress?
Для управления виджетами в вордпресс существуют разные плагины. Я пользуюсь Display widget. После простой установки и активации такого плагина появляется возможность управлять виджетами не посредственно во вкладке Виджеты текущей темы. Но проблема так просто установкой одного плагина не решается. Если у Вас есть не стандартные виджеты типа SEO Booster PRO, то плагин не сможет добавить к ним необходимые поля для управления. Поэтому, если у Вас тоже есть не стандартные плагины со своими виджетами, нужно искать код функции для ручного добавления плагина в тему. Иногда такой код можно встретить в документации к плагину. Для SEO Booster такой код я нашел непосредственно ковыряясь в коде самого плагине. Благо разработчики хорошо прокомментировали код. Теперь его нужно вставить в определенное место шаблона. Делается это с помощью условных тегов (Conditional Tags). Почитать о них можно на кодексе (codex.wordpress.org/Conditional_Tags). Там же есть куча примеров.
Допустим нам нужно вывести виджет только на главной странице. В шаблоне добавляем такой код:
< ?php if (is_home()) {?>
Дальше идет оформления вывода виджета и сам его вызов.
Потом закрываем оператор:
< ?} ?>
Приведу пример моего куска кода с выводом SEO Booster только на главной странице:
Кстати, этот метод интересен тем, что к виджету можно добавить тег noindex. Что не всегда можно сделать, добавляя виджет с меню Виджеты установленной темы (за исключением добавления текстовых виджетов).
Если остались вопросы или не знаете как вывести виджет где-то там у себя на сайта, то спрашивайте в комментариях.