register_sidebars() — позволяет зарегистрировать несколько сайдбаров за раз

Функция позволяет сразу зарегистрировать несколько сайдбаров (сайдбары будут однотипными). Ничего не возвращает.

На мой взгляд для этих целей гораздо удобнее использовать функцию register_sidebar(), которая позволяет для каждого из сайдбаров установить уникальные значения параметров (кстати говоря, register_sidebars() и есть ни что иное, как функция register_sidebar(), пропущенная через цикл).

register_sidebars($number = 1, $args = array())
$number
(целое число) количество сайдбаров, которые необходимо зарегистрировать.
$args
(массив|строка) параметры массива $args будут такими же, как и у функции register_sidebar(), единственное отличие, что к указанным id и имени будет автоматически добавляться порядковый номер, например если вы решили зарегистрировать 3 сайдбара и в качестве значения id указали «mysidebar», то зарегистрированные сайдбары будут «mysidebar», «mysidebar-2», «mysidebar-3». С именами сайдбаров дело обстоит немного по-другому, смотрите пример и вам сразу всё станет понятно.

Пример

Зарегистрируем 3 сайдбара. Хук widgets_init обязателен! В примерах в официальной документации он не используется — не обращайте на это внимания, он нужен всё равно (без него сайдбары тоже добавятся, но в будущем это может привести к багам).

function true_register_multiple_sidebars(){
	register_sidebars( 3, array('id'=>'mysidebar', 'name'=>'Мой сайдбар %d') );
}
 
add_action('widgets_init', 'true_register_multiple_sidebars');

В итоге IDы зарегистрированных сайдбаров будут: «mysidebar», «mysidebar-2», «mysidebar-3».
Имена: «Мой сайдбар 1», «Мой сайдбар 2» и «Мой сайдбар 3».

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
Получайте новости блога по email или следите за мной в социальных сетях.
  • Vladislav: Лучше бы посоветовали изящное решение имеющейся проблемы.

  • alex morozov: Не очень понял. Я добавляю метабокс через класс, почти как у вас. class Desc_Meta_Box { private $screens = array(...

  • Миша: Метод тыка хорош, но оснвоы нужно знать в любом случае. Рекомендую почитать это.

  • Миша: Добрый вечер! Если я правильно понял, то: if( $opisanie ) echo '' . $opisanie . '' ;

  • alex morozov: Добрый вечер! у меня возникла следующая проблема. Я делаю фотоальбомы, чтобы они выглядели "как в контакте". Так вот, та...