get_sidebar ( string $name = null )

Load sidebar template.

Includes the sidebar template for a theme or if a name is specified then a specialised sidebar will be included.

For the parameter, if the file is called “sidebar-special.php” then specify “special”.

Source file: wp-includes/general-template.php

View source


Parameters

$name

(string) (Optional) The name of the specialised sidebar.

Default value: null


Used by


Source

function get_sidebar( $name = null ) {
	/**
	 * Fires before the sidebar template file is loaded.
	 *
	 * The hook allows a specific sidebar template file to be used in place of the
	 * default sidebar template file. If your file is called sidebar-new.php,
	 * you would specify the filename in the hook as get_sidebar( 'new' ).
	 *
	 * @since 2.2.0
	 * @since 2.8.0 $name parameter added.
	 *
	 * @param string $name Name of the specific sidebar file to use.
	 */
	do_action( 'get_sidebar', $name );

	$templates = array();
	$name = (string) $name;
	if ( '' !== $name )
		$templates[] = "sidebar-{$name}.php";

	$templates[] = 'sidebar.php';

	locate_template( $templates, true );
}


Changelog


User Contributed Notes

  1. Simple call
    Assume you have file wp-content/yourTheme/sidebar-nice-bar.php. The way you can include this sidebar in your page is:

    <?php get_sidebar('nice-bar'); ?>
    
    
  2. 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).

    <?php get_header(); ?>
    <h2>Error 404 - Not Found</h2>
    <?php get_sidebar(); ?>
    <?php get_footer(); ?>
    
    
  3. Left and Right Sidebars
    Two sidebars in one theme.

    <?php get_header(); ?>
    <?php get_sidebar( 'left' ); ?>
    <?php get_sidebar( 'right' ); ?>
    <?php get_footer(); ?>
    

    The file names for the right and left sidebars should be sidebar-right.php and sidebar-left.php respectively.

  4. Multi sidebars
    Different sidebar for different pages.

    <?php
    if ( is_home() ) :
      get_sidebar( 'home' );
    elseif ( is_404() ) :
      get_sidebar( '404' );
    else :
      get_sidebar();
    endif;
    ?>
    

    The file names for the home and 404 sidebars should be sidebar-home.php and sidebar-404.php respectively.

You must log in before being able to contribute a note.