Kategorideki tüm alt kategorileri listele


Yanıtlar:


29

Evet, özniteliği kullanarak get_categories () öğesini kullanabilirsiniz 'child_of'. Örneğin, 17 numaralı kimliğe sahip tüm kategori alt kategorileri:

$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>';  
}

Bu, torun olan tüm kategorileri alacaktır (örneğin, çocuklar ve torunlar).

Yalnızca doğrudan torunları olan kategorileri görüntülemek istiyorsanız (örneğin, yalnızca çocuklar) 'parent'özniteliği kullanabilirsiniz .

$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>';  
}

6
Sadece bir öneri: Özel yazı türlerinin ve taksonomilerin popülaritesiyle, önermenin daha iyi olacağını hissediyorum get_terms, çünkü bu, kategori işlevlerinin yerleşik taksonomiye özgü olduğu gibi genel terim getirme işlevlerini tanımanıza yardımcı olur ( her durumda olmasa da). Elbette kabul etmek zorunda değilsiniz, bu sadece bir öneri ...;)
t31os

2
Get_terms () 'in daha iyi olabileceğini kabul ediyorum .
Django Reinhardt

@ t31os - get_termslütfen kullanarak cevap gönderebilir misiniz ?
vsync
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.