register_sidebars()
Создаёт заданное количество областей виджетов (сайдбаров) и добавляет их в систему, чтобы затем можно было вывести через dynamic_sidebar().
Функция создана для удобного создания нескольких панелей виджетов сразу, чтобы не передавать один и теже параметры в register_sidebar().
Нужно использовать на хуке widgets_init.
Используйте register_sidebar(), когда нужно создать только одну панель.
Хуков нет.
Возвращает
null. Ничего не возвращает.
Шаблон использования
$args = array( 'name' => 'Sidebar %d', 'id' => "sidebar", 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>' ); register_sidebars( 2, $args );
Использование
register_sidebars( $number, $args );
- $number(число)
- Сколько панелей создать, указывается число.
По умолчанию: 1 - $args(строка/массив)
Параметры для создаваемых панелей виджетов.
Параметры Можно указывать в виде ассоциативного массива или в виде строки.
-
name- Название панели. Названия у создаваемых панелей должны быть разные. Если регистрируете более одного сайдбара, включите в значение name маркер %d — WordPress подставит порядковый номер («Sidebar 1», «Sidebar 2» и т. д.).При отсутствии уникального id движок сам добавит суффикс -2, -3 и т. д., чтобы исключить конфликт.
По умолчанию 'Sidebar %d'.
-
id- Идентификатор панели. К каждой следующией после первой панели автоматически будет добавлено число порядкового номера. Например если мы будем создавать 3 панели и укажем в id "sidebar", то получим: "Sidebar", "Sidebar-2", "Sidebar-3". -
description- описание панели. При создании нескольких сайдбаров одновременно этот параметр не имеет смысла и по умолчанию пустой. -
before_widget- HTML который будет расположен перед каждым виджетом в панели. -
after_widget- HTML который будет расположен после каждого виджет в панели. -
before_title- HTML который будет расположен перед каждым заголовком виджета панели. after_title- HTML который будет расположен после каждого заголовка виджета панели.
Также можно указать параметры из register_sidebar().
По умолчанию: по умолчанию
-
Примеры
#1 Регистрация одной панели Аналог функции register_sidebar()
register_sidebars();
#2 Создадим 2 панели и поместим заголовок каждого виджета в тег <h1>:
register_sidebars( 2, ['before_title'=>'<h1>','after_title'=>'</h1>'] );
Тоже самое, только укажем параметры в виде строки:
register_sidebars( 2, "before_title=<h1>&after_title=</h1>" )
#3 Регистрация двух панелей
Этот пример показывает как зарегистрировать 2 панели с названиями "Foobar 1" and "Foobar 2":
register_sidebars( 2, ['name'=>'Foobar %d'] );
Заметки
- Смотрите: register_sidebar() The second parameter is documented by register_sidebar() and is the same here.
- Global. Массив. $wp_registered_sidebars The new sidebars are stored in this array by sidebar ID.
Список изменений
| С версии 2.2.0 | Введена. |