Call sidebar from a template

I need to call a sidebar into my header. I’ve switched to the new twenty twelve theme and created my own child theme. With this new theme I decided to keep things organised and together, so I put my widgets functions, stylesheet and two new sidebar templates (one for header and one for footer widgets) in one folder called pgwidgets.

This is the call i used in my header

Read More
<? if ( is_front_page() ) : ?>  
<?php get_sidebar( 'homepage' ) ; ?>
<?php endif ; ?>

This calls the sidebar-homepage.php file into my header from the themes’ root directory. How do I change the get_sidebar( 'homepage' ) part to call the sidebar from the pgwidgets folderfolder (pgwidgets/sidebar-homepage.php)

Related posts

Leave a Reply

1 comment

  1. Impossible with get_sidebar().

    From that function’s body:

    function get_sidebar( $name = null ) {
        do_action( 'get_sidebar', $name );
    
        $templates = array();
        if ( isset($name) )
            $templates[] = "sidebar-{$name}.php";
    
        $templates[] = 'sidebar.php';
    

    So if you pass a $name or any other custom value to the function, they will be set between two fixed strings.

    You can use locate_template() instead:

    locate_template( 'pgwidgets/sidebar-homepage.php', TRUE );