非递归的GET_TERM_CHILD()

时间:2013-11-20 作者:Eoghan OLoughlin

我有一个自定义分类法叫做product_category. 有三级以下的子术语。

它们看起来像这样:

Term1
    Term2
        Term3
当我在Term1的分类页面上时,我希望使用get_term_children() 检索Term2,而不检索Term3。

如果这有道理的话。。。

这可以通过get\\u term\\u children()实现,还是可以使用其他函数?

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

您可能希望输出术语数据,因此可以使用get_terms 使用child_of 参数,然后迭代返回的术语,并检查每个术语的父项是否为您的主术语id:

$parent_id = 42;
$children = get_terms( \'product_category\', array( \'child_of\' => $parent_id ) );

foreach( $children as $child ) {
    if( $parent_id == $child->parent )
        echo $child->name;
}
这将排除孙辈,因为他们的父术语ID将是子术语,而不是您的顶级术语。

结束