我有一个自定义值,该值存储为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
但它只是在页面的一半处出错了。有人知道更改排序类别和分类的正确过滤器吗?
最合适的回答,由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 );