web-dev-qa-db-fra.com

Lister toutes les sous-catégories de la catégorie

Comment puis-je obtenir toutes les sous-catégories d'une certaine catégorie?

16
Fuxi

Oui, vous pouvez utiliser get_categories () en utilisant l'attribut 'child_of'. Par exemple, toutes les sous-catégories de catégories ayant l’ID 17:

$args = array('child_of' => 17);
$categories = get_categories( $args );
foreach($categories as $category) { 
    echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
    echo '<p> Description:'. $category->description . '</p>';
    echo '<p> Post Count: '. $category->count . '</p>';  
}

Cela donnera toutes les catégories qui sont des descendants (c'est-à-dire les enfants et les petits-enfants).

Si vous souhaitez afficher uniquement les catégories qui sont des descendants directs (par exemple, les enfants), vous pouvez utiliser l'attribut 'parent'.

$args = array('parent' => 17);
$categories = get_categories( $args );
foreach($categories as $category) { 
    echo '<p>Category: <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> ';
    echo '<p> Description:'. $category->description . '</p>';
    echo '<p> Post Count: '. $category->count . '</p>';  
}
27
Bainternet