J'aimerais créer un menu de navigation dans lequel je vais afficher des pages à deux niveaux.
Pour illustrer cela:
Je souhaite donc afficher toutes les pages parentes de mon conteneur de navigation, mais uniquement les pages enfants lorsque l'utilisateur se trouve actuellement sur sa page parente.
C'est assez facile, car WordPress définit les classes css pour les pages parentes. Par défaut, nous masquons toutes les sous-listes (ul) du menu avec
.menu ul {
display: none;
}
Ensuite, lorsque la page parent est sélectionnée, nous utilisons les classes CSS définies par WordPress pour afficher à nouveau les sous-listes.
.menu .current_page_ancestor, .menu .current_page_parent {
display: block;
}
Donc tout ce dont vous avez besoin c'est dans votre modèle
Modèle:
<ul class="menu">
<?php wp_list_pages('title_li=') ?>
</ul>
et cela dans votre fichier css.
CSS:
.menu ul {
display: none;
}
.menu .current_page_ancestor > ul, .menu .current_page_parent > ul {
display: block;
}