web-dev-qa-db-fra.com

Comment afficher les sous-catégories sur la page des catégories?

J'ai une page de produit qui est assignée à category.php. Maintenant, je veux afficher les sous-catégories en tant que sous-menu sur la page Catégorie. Mais même après une longue recherche, je ne pouvais pas encore afficher toutes les sous-catégories. J'ai trouvé un code qui est:

 <?php
if (is_category()) {
$this_category = get_category($cat);
}
?>
<?php
if($this_category->category_parent)
$this_category = wp_list_categories('orderby=id
&title_li=&use_desc_for_title=1&child_of='.$this_category->category_parent.
"&echo=0"); else
$this_category = wp_list_categories('orderby=id&depth=1
&title_li=&use_desc_for_title=1&child_of='.$this_category->cat_ID.
"&echo=0");
if ($this_category) { ?> 

<ul>
<?php echo $this_category; ?>

</ul>

<?php } ?>

mais ce que cela fait est qu'il ne montre pas les sous-catégories qui a 0 postes. En outre, il indique AUCUNE CATÉGORIE où les catégories ne comportent aucune sous-catégorie et il y a une puce avant chaque inscription, ce que je ne veux pas du tout. Alors aidez s'il vous plaît.

1
hashtagerrors

Vous pouvez utiliser get_categories & wp_list_categories avec des paramètres spécifiques (à utiliser directement dans votre category.php template):


// List sub cats
$params = array(
    'parent'        =>  get_queried_object_id(), //id of current category displayed 
    'orderby'       => 'name',
    'order'         => 'ASC',
    'hide_empty'    =>  false // do not hide sub cats without posts
);
if ( count( get_categories( $params ) ) ) {
    wp_list_categories( $params );
}

La liste complète des arguments peut être trouvée ici

Vous pouvez également personnaliser la sortie de votre propreWalkerextension de WP Walker_Category class.

2
Dexter0015