Функция регистрирует сайдбар и возвращает его ID. Должна быть использована только внутри хука widgets_init
(смотрите пример ниже).
register_sidebar( $args = array() )
- $args
- (массив|строка) содержит следующие параметры:
- name
- Название сайдбара (по умолчанию локализованное «Sidebar» и его порядковый номер).
- id
- Идентификатор сайдбара — латинские символы и цифры в нижнем регистре без пробелов (по умолчанию:
sidebar-$i
, где $i — порядковый номер сайдбара). Не рекомендуется использовать IDы из этого списка. - description
- Описание сайдбара (параметр добавлен в WordPress 2.9). Будет использовано на странице управления виджетами:
- class
- CSS-класс, который будет дополнительно добавляться к каждому виджету в этом сайдбаре.
- before_widget
- HTML, который следует разместить непосредственно перед каждым виджетом, по умолчанию:
<li id="%1$s" class="widget %2$s">
. - after_widget
- HTML, который должен добавляться автоматически после каждого виджета, по умолчанию:
</li>n
. - before_title
- HTML перед заголовком каждого виджета, по умолчанию:
<h2 class="widgettitle">
. - after_title
- HTML после заголовка каждого виджета, по умолчанию:
</h2>n
.
- name
- Название сайдбара (по умолчанию локализованное «Sidebar» и его порядковый номер).
- id
- Идентификатор сайдбара — латинские символы и цифры в нижнем регистре без пробелов (по умолчанию:
sidebar-$i
, где $i — порядковый номер сайдбара). Не рекомендуется использовать IDы из этого списка. - description
- Описание сайдбара (параметр добавлен в WordPress 2.9). Будет использовано на странице управления виджетами:
- class
- CSS-класс, который будет дополнительно добавляться к каждому виджету в этом сайдбаре.
- before_widget
- HTML, который следует разместить непосредственно перед каждым виджетом, по умолчанию:
<li id="%1$s" class="widget %2$s">
. - after_widget
- HTML, который должен добавляться автоматически после каждого виджета, по умолчанию:
</li>n
. - before_title
- HTML перед заголовком каждого виджета, по умолчанию:
<h2 class="widgettitle">
. - after_title
- HTML после заголовка каждого виджета, по умолчанию:
</h2>n
.
Пример
Обратите внимание, функция должна быть обязательно подключена через хук widgets_init
. Код можно вставить в functions.php
темы, для которой вы хотите зарегистрировать сайдбар.
Для того, чтобы было легко разобраться в коде, я использовал те же самые значения параметров, которые были использованы при регистрации сайдбара «4я колонка в футере» (скриншот выше).
function true_register_new_sidebar() { /* Регистрируем сайдбар foot4. */ register_sidebar( array( 'id' => 'foot4', 'name' => '4я колонка в футере', 'description' => 'Данный сайдбар позволит добавить что-либо в четвертую колонку в футере сайта.', 'before_widget' => '<div id="%1$s" class="widget %2$s">', 'after_widget' => '</div>', 'before_title' => '<h4 class="widget-heading">', 'after_title' => '</h4>' ) ); /* Чтобы зарегистрировать еще сайдбары, просто скопируйте сюда функцию register_sidebar(), заменив в ней несколько параметров. */ } add_action( 'widgets_init', 'true_register_new_sidebar' );
Параметры в функцию можно также передать и в виде строки:
function true_register_new_sidebar_2() { register_sidebar('id=sb_left&name=Левый сайдбар&before_title=<h3>&after_title=</h3>'); } add_action( 'widgets_init', 'true_register_new_sidebar_2' );
Окей, сайдбар мы зарегистрировали, а что делать дальше? Как подключить его в теме? Читайте подробное руководство по сайдбарам на моем блоге.