WordPress at a glance

register_sidebars() WP 1.0

Creates multiple sidebars.

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.

  • See: register_sidebar() The second parameter is documented by register_sidebar() and is the same here.
  • Global. Array. $wp_registered_sidebars
Works based on: register_sidebar()

No Hooks.

Return

Nothing (null).

Usage

register_sidebars( $number, $args );
$number(int)
Number of sidebars to create.
Default: 1
$args(array/string)

Array or string of arguments for building a sidebar.

  • $id (string)
    The base string of the unique identifier for each sidebar. If provided, and multiple sidebars are being defined, the id will have "-2" appended, and so on. followed by the number the sidebar creation is currently at.
    Default: 'sidebar-'

  • $name (string)
    The name or title for the sidebars displayed in the admin dashboard. If registering more than one sidebar, include '%d' in the string as a placeholder for the uniquely assigned number for each sidebar. for the first sidebar, otherwise 'Sidebar %d'.
    Default: 'Sidebar'

Default: array()

Code of register_sidebars: wp-includes/widgets.php VER 5.0

<?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 )
			$_args['name'] = isset($args['name']) ? sprintf($args['name'], $i) : sprintf(__('Sidebar %d'), $i);
		else
			$_args['name'] = isset($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 ID's
			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);
	}
}

Related Functions

From tag: Sidebar (widgets)

No comments
    Hello, !     Log In . Register