カスタム投稿タイプ "Services"があります。 「service-category」という階層的分類法があります。サービスカテゴリには、親と子の両方の用語があります。
分類法では親用語の数を数える必要があります。投稿しません。分類法の用語の数は私のコードで再帰的ループでページをレイアウトするために使用されています。
私が研究したことはすべて、分類法における用語の数ではなく、用語ごとの投稿の数についてです。
ご協力ありがとうございます。
@shanebpが示唆するように、あなたは wp_count_terms()
のように使うことができます:
$numTerms = wp_count_terms( 'service-category', array(
'hide_empty'=> false,
'parent' => 0
) );
上記はすべての上位の親用語をリストします、空かどうかは関係ありません。この関数は get_terms()
functionsの引数を使用しています。これらの引数は以下のリンクまたは以下の引数にあります。
$args = array(
'orderby' => 'name',
'order' => 'ASC',
'hide_empty' => true,
'exclude' => array(),
'exclude_tree' => array(),
'include' => array(),
'number' => '',
'fields' => 'all',
'slug' => '',
'parent' => '',
'hierarchical' => true,
'child_of' => 0,
'get' => '',
'name__like' => '',
'description__like' => '',
'pad_counts' => false,
'offset' => '',
'search' => '',
'cache_domain' => 'core'
);
これを試して。テストされていませんが動作するはずです - get_the_termsは各項を含む配列を返し、次にsizeof()がそれをカウントして整数を返します。変数$ numberは項の数に対応する整数を返します。
$terms = get_the_terms ( $post->ID, 'service-category' );
$number = sizeof ($terms);
echo $number;
if ( $number == XX ) {
// do something
}