WordPress Multiple Sidebars

Example of using multiple sidebars in WordPress

If you've been theming WordPress for a bit you may have come across the need for multiple sidebars, but you may have also realized that the default method of including a sidebar, using the get_sidebar() function, only allows you to include a single sidebar named sidebar.php (without using parameters). There's one obvious way to include a sidebar and that's by using a standard php include like so:

include('TEMPLATEPATH . '/right-sidebar.php';

This method works, but in the interest of keeping our code readable and simplifying the inclusion of multiple sidebars, there's an easier way to do this and it's incredibly simple.

Including sidebar-left.php and sidebar-right.php using get_sidebar

Let's say we've got two sidebars, right and left, and we'll name the files sidebar-right.php and sidebar-left.php respectively. To include those files, all we have to do is use the get_sidebar function but add parameters to each function call to tell WordPress which sidebar we want included where.

To include the file "sidebar-right.php" we'll use:

get_sidebar('right');

And to include our other sidebar, "sidebar-left.php" we'll use:

get_sidebar('left');

Likewise, if we want to include a third sidebar, sidebar-right-2.php for example, we'll use:

get_sidebar('right-2');

Syntax of get_sidebar()

It's that simple. The key to remember here is that, as commentator Rakeshkumar Mehta points out, the get_sidebar function prepends "sidebar- to the argument you feed it, so all your sidebar files should start with "sidebar-". For example, to include a file named sidebar-newsidebar.php, use get_sidebar('newsidebar'), or to include a file named sidebar-my_right_sidebar.php, use get_sidebar('my_right_sidebar').