WordPress est mon moteur de blog/CMS chouchou et la majorité de mes sites personnels et professionnels sont propulsés par ce script. Dernièrement, un client souhaitait un affichage couramment rencontré sur les sites « vitrines » : en cliquant sur un menu « parent », il faut afficher tous les sous menus liés. Et si aucun sous menu n’existe, on affiche…. rien !
Toutefois, ne souhaitant pas ajouter un énième plugin, j’ai préféré gérer « à la mano » cette option. Alors, après un petit tour dans le Codex WordPress, voici une petite solution qui pourra peut être vous rendre des services.
Tout d’abord, dans le « header.php », vous afficherez les menus :
<?php wp_list_pages('depth=1&sort_column=menu_order&title_li='); ?>Ici, grâce à « depth=1 », on n’affiche que le « menu parent ». Les « sous menus » ne sont pas affichés.
Et dans le fichier « sidebar.php », il suffit d’ajoutez le code suivant :
<ul>
<?php if($post->post_parent)
$children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
else
$children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
if ($children) { ?>
<ul>
<li><h2>Sous Menus</h2> </li>
<?php echo $children; ?>
</ul>
<?php } ?>
</ul>
Rien de bien méchant en fait… et WordPress se transforme en un véritable CMS…
Site Internet : Free Tools
Licence : Gratuit
