Dans ce chapitre nous allons voir comment déclarer de nouvelles "sidebar" dans WordPress. Ces sidebars accueilleront ensuite différents widgets qui pourront être sélectionnés par l'administrateur.
function montheme_register_widget () {
register_sidebar([
'id' => 'homepage',
'name' => 'Sidebar Accueil',
'before_widget' => '<div class="p-4 %2$s" id="%1$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="font-italic">',
'after_title' => '</h4>'
]);
}
add_action('widgets_init', 'montheme_register_widget');
Ensuite il est possible d'afficher notre sidebar dans notre thème
<aside class="col-md-4 blog-sidebar">
<?= get_sidebar('homepage'); ?>
</aside>
Cette fonction se contentera d'appeler un fichier sidebar-homepage.php qu'il va falloir créer et qui se chargera de l'affichage du contenu de la sidebar.
<?php if(!dynamic_sidebar('homepage')): ?>
<div class="p-4">
<h4 class="font-italic">Rechercher</h4>
<?= get_search_form() ?>
</div>
<div class="p-4">
<h4 class="font-italic">Archives</h4>
<ol class="list-unstyled mb-0">
<?php wp_get_archives(['type' => 'monthly']) ?>
</ol>
</div>
<?php endif ?>
Vous pouvez à l'intérieur mettre des widgets par défaut afin de prévoir le cas où l'administrateur n'a pas encore configuré les choses.