Je souhaite afficher uniquement le premier niveau de sous-catégories sur la page de catégorie actuelle (le cas échéant).
J'ai essayé ce code:
<?php
$args=array(
'child_of' => $cat-id,
'hide_empty' => 0,
'orderby' => 'name',
'order' => 'ASC',
'depth' => '1' //NOT WORKING
);
$categories=get_categories($args);
foreach($categories as $category) {
echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a>'; }
?>
Mais, il montre tous les enfants et les enfants (petits-enfants). J'ai essayé avec "'profondeur' => '1'" mais c'est ignoré.
Comment afficher uniquement le premier niveau d'enfants (s'il en existe) sur la page de catégorie?
Vous utilisez la fonction get_categories () et cette fonction n’a pas l’argument ' depth '. De plus, php ne supporte pas la variable $cat-id
. ce serait $cat_id
.
Alors essayez ce genre de code:
$cat_id = get_query_var('cat');
$args=array(
'parent' => $cat_id,
'hide_empty' => 0,
'orderby' => 'name',
'order' => 'ASC'
);