web-dev-qa-db-fra.com

Donner à wp_list_categories la classe de la catégorie

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.

1
Cody

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!

1
Jared Cobb