如何计算分类法中的术语数

时间:2014-12-11 作者:BitBug

我有一个自定义的帖子类型“服务”。它有一个“服务类别”的层次分类法。服务类别包含父项和子项。

我需要计算分类法中父术语的数量。不是帖子。在我的代码中,分类法中的#个术语被用来在递归循环中布局页面。

我所研究的一切都是关于每个术语的帖子数量,而不是分类法中的术语数量。。我肯定我错过了一个明显的方法,但我没有遇到过。

提前感谢您的帮助!

2 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

正如@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\'
); 

SO网友:edwardr

试试这个。未测试,但应该可以工作--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
}

结束

相关推荐

如何计算分类法中的术语数 - 小码农CODE - 行之有效找到问题解决它

如何计算分类法中的术语数

时间:2014-12-11 作者:BitBug

我有一个自定义的帖子类型“服务”。它有一个“服务类别”的层次分类法。服务类别包含父项和子项。

我需要计算分类法中父术语的数量。不是帖子。在我的代码中,分类法中的#个术语被用来在递归循环中布局页面。

我所研究的一切都是关于每个术语的帖子数量,而不是分类法中的术语数量。。我肯定我错过了一个明显的方法,但我没有遇到过。

提前感谢您的帮助!

2 个回复
最合适的回答,由SO网友:Howdy_McGee 整理而成

正如@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\'
); 

SO网友:edwardr

试试这个。未测试,但应该可以工作--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
}

相关推荐