# register_sidebar()

URL: https://chugunov.pro/api-wordpress/functions/register_sidebar/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 2.2.0.

## Сигнатура

```php
register_sidebar( array|string $args = array() ): string
```

## Описание

Принимает строку или массив и затем разбирает их относительно набора аргументов по умолчанию для новой боковой панели. Если эти аргументы не указаны, WordPress автоматически сформирует ID и имя боковой панели на основе текущего числа зарегистрированных боковых панелей.
При автоматическом формировании параметров name и ID учитывайте, что счётчик боковой панели со временем может меняться в зависимости от того, какие ещё плагины и темы установлены.
Если на момент вызова функции поддержка ‘widgets’ ещё не была добавлена в тему, она будет включена автоматически с помощью add_theme_support() .

## Параметры

- `$args` `array|string` — необязательный, по умолчанию `array()`. Массив или строка аргументов для регистрируемой боковой панели.
  
  name stringИмя или заголовок боковой панели, отображаемый в интерфейсе виджетов. По умолчанию ‘Sidebar $instance’.
  
  id stringУникальный идентификатор, по которому будет вызываться боковая панель.
  
  По умолчанию 'sidebar-$instance'.
  
  description stringОписание боковой панели, отображаемое в интерфейсе виджетов.
  
  class stringДополнительный CSS-класс, назначаемый боковой панели в интерфейсе виджетов.
  
  before_widget stringHTML-содержимое, добавляемое перед HTML-выводом каждого виджета, назначенного этой боковой панели. Получает атрибут ID виджета как %1$s и имя класса как %2$s. По умолчанию — открывающий элемент пункта списка.
  
  after_widget stringHTML-содержимое, добавляемое после HTML-вывода каждого виджета, назначенного этой боковой панели. По умолчанию — закрывающий элемент пункта списка.
  
  before_title stringHTML-содержимое, добавляемое перед заголовком боковой панели при выводе.
  
  По умолчанию — открывающий элемент h2.
  
  after_title stringHTML-содержимое, добавляемое после заголовка боковой панели при выводе.
  
  По умолчанию — закрывающий элемент h2.
  
  before_sidebar stringHTML-содержимое, добавляемое перед боковой панелью при выводе.
  
  Получает аргумент $id как %1$s и $class как %2$s.
  
  Выводится после действия 'dynamic_sidebar_before'.
  
  after_sidebar stringHTML-содержимое, добавляемое после боковой панели при выводе.
  
  Выводится перед действием 'dynamic_sidebar_after'.
  
  show_in_rest boolПоказывать ли эту боковую панель публично в REST API.
  
  По умолчанию боковая панель показывается только пользователям-администраторам.

## Возвращаемое значение

`string`

## Исходный код

Файл: `wp-includes/widgets.php:269`

```php
function register_sidebar( $args = array() ) {
	global $wp_registered_sidebars;

	$i = count( $wp_registered_sidebars ) + 1;

	$id_is_empty = empty( $args['id'] );

	$defaults = array(
		/* translators: %d: Sidebar number. */
		'name'           => sprintf( __( 'Sidebar %d' ), $i ),
		'id'             => "sidebar-$i",
		'description'    => '',
		'class'          => '',
		'before_widget'  => '<li id="%1$s" class="widget %2$s">',
		'after_widget'   => "</li>\n",
		'before_title'   => '<h2 class="widgettitle">',
		'after_title'    => "</h2>\n",
		'before_sidebar' => '',
		'after_sidebar'  => '',
		'show_in_rest'   => false,
	);

	/**
	 * Filters the sidebar default arguments.
	 *
	 * @since 5.3.0
	 *
	 * @see register_sidebar()
	 *
	 * @param array $defaults The default sidebar arguments.
	 */
	$sidebar = wp_parse_args( $args, apply_filters( 'register_sidebar_defaults', $defaults ) );

	if ( $id_is_empty ) {
		_doing_it_wrong(
			__FUNCTION__,
			sprintf(
				/* translators: 1: The 'id' argument, 2: Sidebar name, 3: Recommended 'id' value. */
				__( 'No %1$s was set in the arguments array for the "%2$s" sidebar. Defaulting to "%3$s". Manually set the %1$s to "%3$s" to silence this notice and keep existing sidebar content.' ),
				'<code>id</code>',
				$sidebar['name'],
				$sidebar['id']
			),
			'4.2.0'
		);
	}

	$wp_registered_sidebars[ $sidebar['id'] ] = $sidebar;

	add_theme_support( 'widgets' );

	/**
	 * Fires once a sidebar has been registered.
	 *
	 * @since 3.0.0
	 *
	 * @param array $sidebar Parsed arguments for the registered sidebar.
	 */
	do_action( 'register_sidebar', $sidebar );

	return $sidebar['id'];
}
```

## История изменений

- 5.9.0 — Added the show_in_rest argument.
- 5.6.0 — Added the before_sidebar and after_sidebar arguments.
- 2.2.0 — Introduced.

## Связанные

Использует: [`add_theme_support`](https://chugunov.pro/api-wordpress/functions/add_theme_support/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`_doing_it_wrong`](https://chugunov.pro/api-wordpress/functions/_doing_it_wrong/), [`wp_parse_args`](https://chugunov.pro/api-wordpress/functions/wp_parse_args/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), [`do_action`](https://chugunov.pro/api-wordpress/functions/do_action/).
Используется в: [`register_sidebars`](https://chugunov.pro/api-wordpress/functions/register_sidebars/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/register_sidebar/
