register_sidebars( int $number = 1, array|string $args = array() )
Creates multiple sidebars.
Description Description
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 also See also
- register_sidebar(): The second parameter is documented by register_sidebar() and is the same here.
Parameters Parameters
- $number
-
(int) (Optional) Number of sidebars to create.
Default value: 1
- $args
-
(array|string) (Optional) 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. Default 'sidebar-' followed by the number the sidebar creation is currently at. - '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. Default 'Sidebar' for the first sidebar, otherwise 'Sidebar %d'.
Default value: array()
- 'id'
Source Source
File: wp-includes/widgets.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 ); } }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
2.2.0 | Introduced. |
User Contributed Notes User Contributed Notes
You must log in before being able to contribute a note or feedback.
Examples
This will register 1 sidebar named Sidebar:
This will create 2 sidebars named “Foobar 1″ and “Foobar 2″:
This will create 2 sidebars with the title wrapped in <h1> and </h1>