Introduction
Les bases
Les plugins incontournables
Travaux pratiques
Installation et configuration du projetRéservé aux membres premiums
16 min
En tête et pied de pageRéservé aux membres premiums
42 min
La page actualitésRéservé aux membres premiums
36 min
La single actualitéRéservé aux membres premiums
56 min
Gestion des biensRéservé aux membres premiums
25 min
Single d'un bienRéservé aux membres premiums
26 min
Listing des biensRéservé aux membres premiums
26 min
Correction du menuRéservé aux membres premiums
10 min
Recherche des biensRéservé aux membres premiums
24 min
Page d'accueilRéservé aux membres premiums
55 min
Formulaire de contactRéservé aux membres premiums
19 min

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.