Listar todas as subcategorias da categoria

15

Como posso obter todas as subcategorias de uma determinada categoria?

    
por Fuxi 30.03.2011 / 15:56

1 resposta

25

Sim, você pode usar get_categories () usando o atributo 'child_of' . Por exemplo, todas as subcategorias da categoria com o ID de 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>';  
}

Isso obterá todas as categorias descendentes (por exemplo, filhos e netos).

Se você quiser exibir apenas categorias descendentes diretas (ou seja, somente crianças), use o atributo '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>';  
}
    
por Bainternet 30.03.2011 / 16:13

Tags