Obtenha a barra lateral personalizada na página de arquivo de postagem personalizada

4

Eu tenho um tipo de postagem personalizado chamado "bibliografias" e o arquivo archive-bibliographies.php correspondente para mostrar uma lista de postagens. Nesta página, quero adicionar uma barra lateral que seja exclusiva desta página, por isso fui em frente e registrei uma nova barra lateral como esta:

// Register Bibliography Sidebar
function bibliography_sidebar() {
    register_sidebar( array(
        'name' => 'bibliography_sidebar',
        'id' => 'bibliography_sidebar',
        'description' => __( 'Widgets in this area will be shown on the bibliography sidebar.', 'theme-slug' ),
        'before_widget' => '<li id="%1$s" class="widget %2$s">',
        'after_widget'  => '</li>',
        'before_title'  => '<h2 class="bibliography_sidebar">',
        'after_title'   => '</h2>',
    ) );
}
add_action( 'widgets_init', 'bibliography_sidebar' );

depois, no arquivo archive-bibliopgraphies.php, estou tentando ligar para a barra lateral assim:

get_sidebar('bibliography_sidebar');

Eu vejo a nova barra lateral no lado do administrador e posso adicionar widgets a ela, mas no front end tudo que eu vejo é a barra lateral principal, não a barra lateral "bibliography_sidebar".

Alguma idéia do que estou perdendo aqui?

    
por Guillermo Carone 28.08.2015 / 19:32

1 resposta

2

get_sidebar($name) carregará um modelo sidebar-{$name}.php . Se sidebar-{$name}.php não existir, ele fará o fallback para carregar sidebar.php .

para ter sua barra lateral específica, você pode criar um arquivo sidebar-bibliography_sidebar.php em seu tema com este código:

<?php

if ( is_active_sidebar( 'bibliography_sidebar' ) ) {
    dynamic_sidebar( 'bibliography_sidebar' );
}
    
por mmm 28.08.2015 / 19:57