WordPress sidebar: appear only on certain pages

How can I edit the php to get my WordPress sidebar to only appear on select pages (i.e. not on the home and about pages)?

I’d prefer php over css if possible.

Related posts

Leave a Reply

2 comments

  1. You could create a page template that doesn’t include the call to get_sidebar(), then just use that template for whichever pages you don’t want your sidebar appearing on.

  2. You can use the function is_page() in your template and rendering the sidebar only if you need to.

    Small example, in sidebar.php of the twentyten theme of WordPress

    <div id="secondary" class="widget-area" role="complementary">
            <ul class="xoxo">
                <?php 
                 if (is_page('my-page')) { 
                      dynamic_sidebar( 'secondary-widget-area' ); }
                ?>
            </ul>
    </div><!-- #secondary .widget-area -->
    

    This little snippet outputs the sidebar only if you are in the page that has the slug ‘my-page’.
    Hope this helps!