web-dev-qa-db-fra.com

Comment puis-je ajouter des catégories imbriquées au menu déroulant dans vingt-onze?

Je sais comment le faire en écrivant un css ul/li séparé pour wp_list_categories, mais je trouve les menus de "vingt-onze" déjà bien conçus et flexibles; Les menus personnalisés, lorsque je dois ajouter des sous-catégories manuellement, ne constituent pas une solution. Je vais permettre à mes utilisateurs de créer de nouvelles catégories. Qu'est-ce que tu ferais?

5

À titre d'exemple purement théorique, voici comment j'aborderais le problème:

$cats = get_categories();
echo '<ul>';
foreach($cats as $cat) {
    echo'<li>'.$cat->name;
    if($cat->parent != 0) {
       $subcats = get_category('child_of='.$cat->cat_ID;
       echo '<ul>';
       foreach($subcats as $subcat){
        echo '<li>'.$subcat->name.'</li>';
       }
    }
    echo '</li>';
}
echo '</ul>';

Je ne m'attends pas à ce que cela fonctionne pleinement car je l'ai codé à partir de cette entrée de codex mais je suis à peu près certain que ma théorie est correcte. J'ai peut-être le $cat->parent à l'envers si ...

1
Joshua