我在理解get\\u terms函数时遇到问题
我只想得到特定类别的所有子级,以便可以将其列出。但我真的不知道$args是如何工作的。
所以用这个get_terms(category, $args);
我试图使用的child\\u
$args = array(
\'child_of\' => 0,
\'childless\' => false,
);
但它给出了所有类别,而我只需要一个类别的子类别。将值更改为“1”将给出空结果。
然后我试了一下“鼻涕虫”
$args = array(
\'slug\' => \'on-going\',
\'child_of\' => 0,
\'childless\' => false,
); `
这只提供了“正在进行”的信息。
这是我的wordpress中的分类树
我唯一想要的是列出“正在进行”的所有子类别,就是这样。。。。
谢谢
最合适的回答,由SO网友:Pieter Goosen 整理而成
这个child_of
参数中不包含需要从中获取后代的特定项的整数值。这意味着您需要从On-going
类别术语,然后将该ID传递给child_of
参数
请注意child_of
参数返回all 传递的术语的后代,包括直接子级和这些子级的所有子级等。如果只需要特定术语的第一级子级,则需要将术语id传递给参数parent
.
如果您没有确切的id,可以使用get_term_by
获取id并将其传递给child_of
在里面get_terms
示例
此示例演示了如果您只有术语名称,如何获取术语ID,就像您的案例一样
On-going
$get_term_id = get_term_by( \'name\', \'On-going\', \'category\' );
$terms = get_terms( \'category\', array( \'child_of\' => $get_term_id->term_id ) );
var_dump( $terms );