Создание панели виджетов 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мотрите другие статьи: