register_sidebar() — регистрирует сайдбар

Владислав Белецкий
Владислав Белецкий .
Категория:
Комментариев: 0

Функция регистрирует сайдбар и возвращает его 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' );

Окей, сайдбар мы зарегистрировали, а что делать дальше? Как подключить его в теме? Читайте подробное руководство по сайдбарам на моем блоге.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии