具有不同深度的子类别的GET_TERMS排序顺序

时间:2016-09-25 作者:Pim

我正在使用get_terms() 搜索WP类别。我正试着按名字顺序排列。下面的代码不起作用,显然是因为涉及多个级别的子类别。如何按名称对所有内容进行排序(无论是父类别还是子类别)?

$searchedterms = get_terms( \'category\', array(
    \'name__like\' => $s,
    \'orderby\' => \'name\',
    \'order\'   => \'ASC\',
    \'hide_empty\' => true
) );
示例:

Alpha(父级)

伽玛射线(1级子级)

Phi(2级子级)Beta(父级)

ε(1级儿童)

Kappa(2级儿童)Zeta(父母)

应返回为Alpha、Beta、Epsilon、Gamma、Kappa、Phi、Zeta。

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

谢谢你的评论!在你的帮助下,我设法排除了Wordpress的标准问题。我找不到罪魁祸首(正如@DaveRomsey所说,这可能是get_termsget_terms_orderby 挂钩改变结果)。在任何情况下,我都通过对数组排序来解决它:

$searchedterms = get_terms( \'category\', array(
    \'name__like\' => $s,
    \'orderby\' => \'name\',
    \'order\'   => \'ASC\',
    \'hide_empty\' => true
) ); 
function cmp($a, $b){
    return strcmp($a->name, $b->name);
}
usort($searchedterms, "cmp");

相关推荐

Get_Terms()在自定义帖子类型上提供了错误的自定义分类Childs计数

我有一个自定义的分类法,我们称之为;指示;。我们将其与自定义帖子类型“配合使用”;产品;。我们对术语Parent->;小孩父级从未与产品建立连接。我使用它来创建一个自定义的select字段,并且需要父字段作为optgroup标题。是否使用此结构父级子级1(根据后端的2篇帖子)子级2(根据后端的1篇帖子)但是如果我查询子主题并检查计数,它总是显示为NULL。在Wordpress仪表板中,它使用2和1正确定位。为什么不在前端呢。 $args = array( \'hide_e