管理分类术语-Orderby术语字段

时间:2014-06-13 作者:Howdy_McGee

我有一个自定义值,该值存储为term_group 但是在管理面板中,我想按术语组排序。我可以通过这个函数来排序,但有一个问题:

function change_term_order( $args, $taxonomies ) {
    if ( is_admin() && \'tax_products\' !== $taxonomies[0] )
        return $args;

    $args[\'orderby\'] = \'term_group\';
    $args[\'order\'] = \'ASC\';

    return $args;
}
add_filter( \'get_terms_args\', \'change_term_order\', 10, 2 );
这仅在用户对其中一列排序时有效,而不是在初始页面加载时有效。我试图将过滤器修改为get_terms 但它只是在页面的一半处出错了。有人知道更改排序类别和分类的正确过滤器吗?

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

经过反复尝试/大量搜索,我找到了答案,这看起来像是正确的过滤器,只需确保我们在管理部分,我们在正确的分类中。

/**
 * Modify the admin listed order of terms
 *
 * @param String $orderby
 * @param Array $args
 * @param Array $taxonomies
 *
 * @return String $orderby
 */
function change_term_order( $orderby, $args, $taxonomies ) {

    if ( is_admin() && \'tax_products\' !== $taxonomies[0] ) {
        return $orderby;
    }

    $orderby        = \'term_group\';
    $args[\'order\']  = \'ASC\';

    return $orderby;
}
add_filter( \'get_terms_orderby\', \'change_term_order\', 10, 3 );

结束