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

Виджеты позволяют редактировать области темы прямо из панели администрирования WordPress. Благодаря им нет необходимости править код сайта - можно изменить настройки в панели. Давайте разберём как можно добавить в тему виджеты и как задать их местоположение.

Работа с виджетом начинается с его регистрирования поля для их отображения в системе. В прошлой статье "Создание меню WordPress" мы уже делали что-то подобное, но тогда регистрировали меню. А теперь сделаем это для виджетов с помощью функции "register_sidebar". Для откройте файл functions.php и добавьте в него следующий код:

<?php 
register_sidebar(array(
   'name' => 'right_sidebar', // ()строка) Название панели виджетов. Название будет отображено в панели администрирования WordPress. Если не указать значение, то по умолчанию "Боковая колонка 1" (цифра 1 меняется в зависимости от количества зарегистрированных панелей).
   'id' => 'prefix_right_sidebar', // (строка) Уникальный идентификатор. Не должно быть пробелов и заглавных букв. 
   'description' => '', // (строка) Описание блока виджетов. Выводится в панели администрирования. 
   'class' => '', // (строка) CSS класс, который будет иметь обрамляющий область контейнер. 
   'before_widget' => '<li>', // (строка) HTML код, который будет перед каждым виджетом в этой области.
   'after_widget' => '</li>', // (строка) HTML код, который будет после каждого виджета в этой области.
   'before_title' => '<h2>', // (строка) HTML код, который будет перед заголовком виджетов в этой области.
   'after_title' => "</h2>", // (строка) HTML код, который будет после заголовка каждого виджета в этой области.
));
Приведённый код регистрирует одну панель с виджетами. Если необходимо зарегистрировать несколько панелей, то нужно вызывать его несколько раз. При этом укажите другие уникальные значения в полях "id" и "name". Но нельзя оставлять эти поля пустыми.

После сохранения изменений в файле functions.php перейдите в панель администрирования. В закладку "Внешний вид" - "Виджеты". Вы увидите там область с только что зарегистрированным блоком, куда можно будет добавить доступные виджеты.

Осталось только сделать вывод блока виджетов. Для этого перейдите в нужный файл текущей темы сайта и вызовите в нужном месте кода функцию "dynamic_sidebar":
<?php dynamic_sidebar('prefix_right_sidebar'); ?>
У этой функции всего один аргумент - "id" блока виджетов, которые были созданы ранее. В нашем случае он имеет значение "prefix_right_sidebar".
Функция "dynamic_sidebar" помимо вывода HTML кода виджета ещё и возвращает логические "true" или "false" в зависимости от того, существуют ли виджеты в панели или нет.
MouseDC.ru - хостинг, виртуальный хостинг, покупка доменов, проверка доменов, WHOIS, курсы создания сайтов, вебинары по созданию, курсы разработки сайтов, доработка сайтов, сопровождение сайтов, разработка сайтов, техподдержка сайтов
Cмотрите другие статьи:
Была ли статья полезной?
Была ли эта статья полезна? Есть вопрос?
хостинг для сайтов
Закажите недорогой хостинг Заказать

всего от 290 руб