Multiple WordPress Sidebars
wordpressOn this site that I have a slightly different sidebar for some of the main pages of the site as compared to the post pages. Using multiple sidebars in WordPress can be a great way to change the flow and design of your WordPress based website.
Some people use a hierarchy method in the naming of the template files to achieve this effect, but in my opinion it is too cumbersome for most user’s needs to do in that manor.
The method of multiple sidebars for WordPress that I am using on this site is a very simple PHP snippet added to the template to call the desired sidebar.php file depending on the area of the site that you are in.
I have created two sidebar files for the template and named them differently (for my example we will call the two files “sidebar_a.php” and “sidebar_b.php” to keep them separate (you may name these files anything you like).
In the standard template files, there is a small line of code that calls the sidebar content to the page. This line is typically found on the page.php file near the top; however, this may be in a different place depending on the template that you are using.
The line you are looking for looks like this:
<?php get_sidebar(); ?>
To call multiple WordPress sidebars and use a different sidebar on specific pages, you would need to change this line to the following:
<?php if (is_page(XX)) {include (’sidebar_b.php’); }
else if (is_page(XX)) {include (’sidebar_b.php’); }
else {include (’sidebar_a.php’); }
?>* You must replace the “XX” above with the ID number of the page you want the sidebar to appear on.
Using this method will call the standard sidebar_a.php file to all pages, except for the pages that are specifically instructed to call the sidebar_b.php file.






























November 5, 2008 @ 8:26 pm
Thanks for the info!
Reply
April 13, 2009 @ 9:09 am
Thank you so much this made my life easier. If i was using wordpress MU will i still have to do that ?
web design seo’s last blog post… Pay Per Click Is it Worth It ?
Reply
April 20, 2009 @ 12:25 pm
did’nt work for me.
Warning: include(�sidebar2php�) [function.include]: failed to open stream: No such file or directory in C:\xampp\htdocs\wordpress\wp-content\themes\blue-skies\page.php on line 72
Warning: include() [function.include]: Failed opening ‘�sidebar2php�’ for inclusion (include_path=’.;C:\xampp\php\pear\’) in C:\xampp\htdocs\wordpress\wp-content\themes\blue-skies\page.php on line 72
I put the codes exactly alike just changing sidebar_a for sidebar1 and so..
Reply
May 25, 2009 @ 2:42 pm
I had the same problem as J. Riley.
First I realised that if you cut and paste (which I did) the single commas around the ’sidebar_b.php’ have to be corrected.
Problem still persisted but after studying the Wordpress codex on “is_page” that the ID also has to have single commas.
Works fine now
Reply
May 28, 2009 @ 9:30 pm
You might find this useful too:
http://blogcraving.com/sidebars-pages-wordpress-blog/
And there’s also a fully illustrated instruction set you can get by email. Provides a little more detail if the plain text version is hard to follow.
Travis Lusk’s last blog post… How To: Different Homepage and Single Post Sidebars
Reply