J'ai un type de message personnalisé appelé "bibliographies" et le fichier archive-bibliographies.php correspondant pour afficher une liste de messages. Sur cette page, je souhaite ajouter une barre latérale propre à cette page. J'ai donc décidé de créer une nouvelle barre latérale comme celle-ci:
// 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' );
puis sur le fichier archive-bibliopgraphies.php, j’essaie d’appeler la barre latérale de la manière suivante:
get_sidebar('bibliography_sidebar');
Je vois la nouvelle barre latérale du côté administrateur et je peux y ajouter des widgets, mais tout ce que je reçois au début est la barre latérale principale, pas la barre latérale "bibliography_sidebar".
Des idées de ce qui me manque ici?
get_sidebar($name)
chargera un template sidebar-{$name}.php
. Si sidebar-{$name}.php
n'existe pas, alors il sera replacé pour charger sidebar.php
.
pour avoir votre barre latérale spécifique, vous pouvez créer un fichier sidebar-bibliography_sidebar.php
dans votre thème avec ce code:
<?php
if ( is_active_sidebar( 'bibliography_sidebar' ) ) {
dynamic_sidebar( 'bibliography_sidebar' );
}