Loads sidebar template.
Description
Includes the sidebar template for a theme or if a name is specified then a specialized sidebar will be included.
For the parameter, if the file is called "sidebar-special.php" then specify "special".
Parameters
$name
stringoptional- The name of the specialized sidebar.
Default:
null
$args
arrayoptional- Additional arguments passed to the sidebar template.
Default:
array()
Source
function get_sidebar( $name = null, $args = array() ) {
/**
* Fires before the sidebar template file is loaded.
*
* @since 2.2.0
* @since 2.8.0 The `$name` parameter was added.
* @since 5.5.0 The `$args` parameter was added.
*
* @param string|null $name Name of the specific sidebar file to use. Null for the default sidebar.
* @param array $args Additional arguments passed to the sidebar template.
*/
do_action( 'get_sidebar', $name, $args );
$templates = array();
$name = (string) $name;
if ( '' !== $name ) {
$templates[] = "sidebar-{$name}.php";
}
$templates[] = 'sidebar.php';
if ( ! locate_template( $templates, true, true, $args ) ) {
return false;
}
}
Hooks
- do_action( ‘get_sidebar’,
string|null $name ,array $args ) Fires before the sidebar template file is loaded.
Simple call
Assume you have file
wp-content/yourTheme/sidebar-nice-bar.php
. The way you can include this sidebar in your page is:Left and Right Sidebars
Two sidebars in one theme.
The file names for the right and left sidebars should be
sidebar-right.php
and
sidebar-left.php
respectively.Multi sidebars
Different sidebar for different pages.
The file names for the home and 404 sidebars should be
sidebar-home.php
andsidebar-404.php
respectively.Simple 404 page
The following code is a simple example of a template for an “HTTP 404: Not Found” error (which you could include in your Theme as 404.php).
Call sidebar with $args parameter (Since 5.5.0)
Consider below is your sidebar call from anywhere inside your theme,
Your codes inside
sidebar-shop.php
file might look a like below.Conditional Statement for Any Sidebar
In case you are making a plugin template where you do not know if there is a sidebar, for any given theme the plugin may be used with, you may check for
register_sidebar
function to see if any sidebar exists.Or, if you know the theme registered name for the sidebar in question try: