我正在尝试获取id为的类别的子类别的类别计数$categoryId
.
在里面the documentation for the term query object, 这是获取\\u terms的主要参数count
参数已列出,说明如下:
(bool)是返回术语计数(true)还是返回术语对象数组(false)。如果为true,则优先于$字段。默认值为false。
基于此,我认为下面的代码应该返回一个整数项计数。但是,它不会返回一个术语对象数组,就像我没有包含count
论点我用值1、“true”、“true”和“true”尝试了这一点。
get_terms(
array(
\'parent\' => $categoryId,
\'taxonomy\' => \'category\',
\'count\' => true
)
);
在搜索了更多信息后,我找到了以下代码:
wp_count_terms( \'category\', array( \'parent\' => $categoryId ) );
为什么
count
争论在这种情况下没有效果?这种行为是否一致?
SO网友:anton
不确定来自哪个版本,但count 参数不再使用。刚刚检查了WP\\u Term\\u查询类,没有发现与count 参数,但您仍然可以在此类的构造函数中找到它。要仅返回术语计数,需要设置count 对于fields 论点
get_terms(
array(
\'parent\' => $categoryId,
\'taxonomy\' => \'category\',
\'fields\' => \'count\'
)
);
功能
wp_count_terms() 就这么做吧。
function wp_count_terms( $taxonomy, $args = array() ) {
$defaults = array(\'hide_empty\' => false);
$args = wp_parse_args($args, $defaults);
if ( isset($args[\'ignore_empty\']) ) {
$args[\'hide_empty\'] = $args[\'ignore_empty\'];
unset($args[\'ignore_empty\']);
}
//HERE IT SETS COUNT VALUE FOR YOU
$args[\'fields\'] = \'count\';
return get_terms($taxonomy, $args);
}
这不是我第一次注意到英文版的法典已经过时了。例如,西班牙法典没有“count”参数-
https://codex.wordpress.org/es:Function_Reference/get_terms