register_sidebars()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
register_sidebars( int $number = 1, array|string $args = array() )
Описание
Если нужно быстро создать несколько боковых панелей для темы или для внутреннего использования.
Эта функция позволяет это сделать. Если не передать ‘name’ и/или ‘id’ в $args, они будут сформированы автоматически.
См. alsoregister_sidebar(): второй параметр описан в register_sidebar() и здесь имеет то же значение.
Оригинал (английский)
If you wanted to quickly create multiple sidebars for a theme or internally.
This function will allow you to do so. If you don’t pass the ‘name’ and/or ‘id’ in $args, then they will be built for you.
- register_sidebar(): The second parameter is documented by register_sidebar() and is the same here.
Параметры
$number
int
необязательный
= 1
$args
array|string
необязательный
= array()
Исходный код
wp-includes/widgets.php:174
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. |

