# register_sidebars()

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

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

## Сигнатура

```php
register_sidebars( int $number = 1, array|string $args = array() )
```

## Описание

Если нужно быстро создать несколько боковых панелей для темы или для внутреннего использования.
Эта функция позволяет это сделать. Если не передать ‘name’ и/или ‘id’ в $args, они будут сформированы автоматически.
См. alsoregister_sidebar(): второй параметр описан в register_sidebar() и здесь имеет то же значение.

## Параметры

- `$number` `int` — необязательный, по умолчанию `1`. Количество создаваемых боковых панелей.
- `$args` `array|string` — необязательный, по умолчанию `array()`. Массив или строка аргументов для создания боковой панели.
  
  id stringБазовая строка уникального идентификатора для каждой боковой панели. Если задана и определяется несколько боковых панелей, к идентификатору будет добавлено "-2" и так далее.
  
  По умолчанию 'sidebar-', за которым следует текущий номер создаваемой боковой панели.
  
  name stringИмя или заголовок боковых панелей, отображаемый в консоли администрирования. При регистрации более одной боковой панели включите в строку '%d' как заполнитель для уникально назначаемого номера каждой боковой панели.
  
  По умолчанию 'Sidebar' для первой боковой панели, иначе ‘Sidebar %d’.

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

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

```php
function register_sidebars( $number = 1, $args = array() ) {
	global $wp_registered_sidebars;
	$number = (int) $number;

	if ( is_string( $args ) ) {
		parse_str( $args, $args );
	}

	for ( $i = 1; $i <= $number; $i++ ) {
		$_args = $args;

		if ( $number > 1 ) {
			if ( isset( $args['name'] ) ) {
				$_args['name'] = sprintf( $args['name'], $i );
			} else {
				/* translators: %d: Sidebar number. */
				$_args['name'] = sprintf( __( 'Sidebar %d' ), $i );
			}
		} else {
			$_args['name'] = $args['name'] ?? __( 'Sidebar' );
		}

		/*
		 * Custom specified ID's are suffixed if they exist already.
		 * Automatically generated sidebar names need to be suffixed regardless starting at -0.
		 */
		if ( isset( $args['id'] ) ) {
			$_args['id'] = $args['id'];
			$n           = 2; // Start at -2 for conflicting custom IDs.
			while ( is_registered_sidebar( $_args['id'] ) ) {
				$_args['id'] = $args['id'] . '-' . $n++;
			}
		} else {
			$n = count( $wp_registered_sidebars );
			do {
				$_args['id'] = 'sidebar-' . ++$n;
			} while ( is_registered_sidebar( $_args['id'] ) );
		}
		register_sidebar( $_args );
	}
}
```

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

- 2.2.0 — Introduced.

## Связанные

Использует: [`is_registered_sidebar`](https://chugunov.pro/api-wordpress/functions/is_registered_sidebar/), [`register_sidebar`](https://chugunov.pro/api-wordpress/functions/register_sidebar/), [`__`](https://chugunov.pro/api-wordpress/functions/__/).

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