get_terms() orderby 名称不起作用 - wordpress

aid*_*dev 5 php wordpress custom-taxonomy taxonomy-terms

我正在使用 wordpress,希望按名称排序一级分类术语,但下面的代码没有给我想要的结果。这是我的代码:

$args = array(
    'taxonomy' => 'tax-category', 
    'hide_empty' => 0,
    'hierarchical' => 1,
    'parent' => 0,
    'orderby'=>'name',
    'order' => 'DESC',
    'fields' => 'all',
);
$rs_terms = get_terms('tax-category', $args);
Run Code Online (Sandbox Code Playgroud)

当我在 php 排序下面添加时,它完美地工作。但是想知道为什么wordpress的默认排序不能正常工作:

usort($rs_terms, function($a, $b){
    return strcmp($a->name, $b->name);
});
Run Code Online (Sandbox Code Playgroud)

小智 6

在这里出现了同样的问题,就像其他人提到的那样,罪魁祸首是与分类排序相关的插件。就我而言,类别顺序和分类术语顺序。我停用了它,我的条款列表按顺序弹出。

  • 对于该问题,只需将 'ignore_term_order' => true 添加到您的数组中。对我有用。 (5认同)

小智 3

我刚刚在我的本地主机上测试了你的代码,它可以工作。

                    'orderby'           => 'name', 
                    'order'             => 'ASC',
                    'hide_empty'        => false, 
                    'fields'            => 'all', 
                    'parent'            => 0,
                    'hierarchical'      => true, 
                    'child_of'          => 0,
                    'childless'         => false,
                    'pad_counts'        => false, 
                    'cache_domain'      => 'core'
Run Code Online (Sandbox Code Playgroud)