我有一个自定义的帖子类型“服务”。它有一个“服务类别”的层次分类法。服务类别包含父项和子项。
我需要计算分类法中父术语的数量。不是帖子。在我的代码中,分类法中的#个术语被用来在递归循环中布局页面。
我所研究的一切都是关于每个术语的帖子数量,而不是分类法中的术语数量。。我肯定我错过了一个明显的方法,但我没有遇到过。
提前感谢您的帮助!
我有一个自定义的帖子类型“服务”。它有一个“服务类别”的层次分类法。服务类别包含父项和子项。
我需要计算分类法中父术语的数量。不是帖子。在我的代码中,分类法中的#个术语被用来在递归循环中布局页面。
我所研究的一切都是关于每个术语的帖子数量,而不是分类法中的术语数量。。我肯定我错过了一个明显的方法,但我没有遇到过。
提前感谢您的帮助!
正如@shanebp所建议的,您可以使用wp_count_terms()
像这样:
$numTerms = wp_count_terms( \'service-category\', array(
\'hide_empty\'=> false,
\'parent\' => 0
) );
以上将列出所有顶级父术语,无论是否为空。此函数使用get_terms()
可以在链接中找到的函数参数或以下参数:$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\\u the\\u terms返回一个包含每个term的数组,然后sizeof()对其进行计数,返回一个整数。变量$number将返回与术语数量相对应的整数。
$terms = get_the_terms ( $post->ID, \'service-category\' );
$number = sizeof ($terms);
echo $number;
if ( $number == XX ) {
// do something
}
我有一个自定义的帖子类型“服务”。它有一个“服务类别”的层次分类法。服务类别包含父项和子项。
我需要计算分类法中父术语的数量。不是帖子。在我的代码中,分类法中的#个术语被用来在递归循环中布局页面。
我所研究的一切都是关于每个术语的帖子数量,而不是分类法中的术语数量。。我肯定我错过了一个明显的方法,但我没有遇到过。
提前感谢您的帮助!
正如@shanebp所建议的,您可以使用wp_count_terms()
像这样:
$numTerms = wp_count_terms( \'service-category\', array(
\'hide_empty\'=> false,
\'parent\' => 0
) );
以上将列出所有顶级父术语,无论是否为空。此函数使用get_terms()
可以在链接中找到的函数参数或以下参数:$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\\u the\\u terms返回一个包含每个term的数组,然后sizeof()对其进行计数,返回一个整数。变量$number将返回与术语数量相对应的整数。
$terms = get_the_terms ( $post->ID, \'service-category\' );
$number = sizeof ($terms);
echo $number;
if ( $number == XX ) {
// do something
}