web-dev-qa-db-ja.com

管理分類学用語 - 用語順フィールド

私は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
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 );
1
Howdy_McGee