J'utilise wp_list_categories pour lister mes catégories dans mon menu. Lorsque le menu est généré, chaque catégorie est répertoriée en tant qu'élément <li>
- avec "cat-item [numéro]" en tant que classe.
Existe-t-il un moyen de donner ou plutôt au <li>
s le nom de la catégorie en tant que classe? Tout comme les articles, le nom de la catégorie correspond à la classe.
Je voudrais utiliser get_categories()
à la place, de sorte que vous puissiez avoir un meilleur contrôle sur la sortie de votre liste. Et si je me souviens bien, wp_list_categories
appelle quand même get_categories
. Vous pouvez utiliser le même tableau $args
dans l'une ou l'autre fonction et vous devriez obtenir les mêmes catégories en conséquence.
Ensuite, vous pouvez simplement construire votre propre liste non ordonnée comme suit:
// build category collection
$categories = get_categories($args);
$menu = '<ul>';
// iterate through your categories
foreach($categories as $category) {
// you can also use $category->slug
$menu .= '<li class="' . $category->name . '">' . $category->name . '</li>';
}
$menu .= '</ul>';
echo $menu;
Bien entendu, vous pouvez créer autant de balises que vous le souhaitez pour vos balises <ul>
et <li>
(classes supplémentaires, ancres, etc.).
Vous pouvez même souhaiter imiter toutes les autres classes que wp_list_categories
ajoute (juste pour rester cohérent). Et si vous l'utilisez à plusieurs endroits, il pourrait même être intéressant de créer votre propre fonction.
Pour une référence complète des propriétés disponibles dans votre objet $category
, voir le Codex .
J'espère que cela pourra aider!