Getting Category Children

时间:2015-06-29 作者:Yahya98

我在理解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中的分类树

category

我唯一想要的是列出“正在进行”的所有子类别,就是这样。。。。

谢谢

1 个回复
最合适的回答,由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 );

结束

相关推荐

减少/优化生成固定链接时wp_get_Object_Terms()的调用

“我的主题”运行一个循环,不需要post术语来显示。然而,Wordpress core在每次迭代中都会运行wp\\u get\\u object\\u terms函数。这会导致不必要的DB查询,例如:SELECT t.*, tt.* FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr