Afficher la liste des catégories en liste déroulante pour votre blog WordPress

Allez hop, il n’est pas trop tard : voilà un petit truc pour afficher la liste des catégories de WordPress en une liste déroulante plutôt que dans une liste classique, qui, à la longue, prend de plus en plus de place…

Donc j’ai eu beau parcourir les blogs qui proposaient des astuces, mais je n’ai pas trouvé d’astuce valable. C’est idiot (ou pas du tout), mais la bonne méthode se trouvait… sur le site officiel (tellement classique).

Voilà le code qui fonctionne (chez moi) :

</pre>
<h2>Catégories</h2>
<pre>
<!--?php wp_dropdown_categories('show_option_none=Catégories&orderby=name&show_count=1&hierarchical=0'); ?-->

<script type="text/javascript">// <![CDATA[
 var dropdown = document.getElementById("cat"); function onCatChange() { if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
location.href = "<?php echo get_option('home'); ?>/?cat="+dropdown.options[dropdown.selectedIndex].value;
}
}
dropdown.onchange = onCatChange;
// ]]></script>

Alors attention, car on ne peut pas transposer directement les otpions utilisées précédemment avec la fonction wp_list_cats() sur la fonction wp_dropdown_categories().

Ce qui fait que pour avoir un affichage avec les même options, j’ai changé comme suit :

<? php wp_list_cats('sort_column=name&optioncount=1&hierarchical=0');  ?>

par

<?php wp_dropdown_categories(‘show_option_none=Catégories&orderby=name&show_count=1&hierarchical=0′); ?>

… sachant que les attributs et les différentes valeurs qu’ils peuvent prendre sont expliqués sur la page précédemment linkée.

4 réflexions sur « Afficher la liste des catégories en liste déroulante pour votre blog WordPress »

  1. Bonjour,

    Auriez vous l’amabilité de me dire dans quel fichier je dois faire cette modif ? impossible de retrouver wp_list_cats…d’avance merci 🙂
    Je suis sur le template sampression lite et avoir les catégories en cases à cocher est juste affreux en terme d’ergonomie 🙁

    RépondreRépondre
  2. Merci Louis pour ton script qui a l’air d’être exactement ce que je cherche. Par contre, étant totalement néophyte (ou pas très loin), peux-tu me dire dans quel fichier je dois l’intégrer. Merci d’avance.

    RépondreRépondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.