カテゴリーのすべてのサブカテゴリーをリストする


回答:


29

はい、属性を使用してget_categories()を使用でき 'child_of'ます。たとえば、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>';  
}

これにより、子孫であるすべてのカテゴリ(子と孫)が取得されます。

直接の子孫(つまり、子のみ)のカテゴリのみを表示する場合は、'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>';  
}

6
単なる提案:カスタム投稿タイプと分類法の人気がget_termsあるので、カテゴリ関数が組み込みの分類法にある程度固有である一般的な用語フェッチ機能にユーザーを慣れさせるのに役立つので、提案する方が良いと思います(すべての場合ではありませんが)。もちろん同意する必要はありません、それは単なる提案です...;)
t31os

2
get_terms()の方が良いかもしれないことに同意します。
ジャンゴラインハルト

@ t31os- get_termsplease を使用して回答を投稿できますか?
vsync
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.