私は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
になるようにフィルタを修正しようとしました、しかしそれはちょうどページの途中で誤りを犯されました。発注カテゴリや分類法を変更するための正しいフィルタを知っている人はいますか?
試行錯誤の後に答えを見つけることができました。これは正しいフィルタのように見えます。管理セクションにいること、および正しい分類法にあることを確認する必要があります。
/**
* 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 );