web-dev-qa-db-ja.com

管理ダッシュボードでカテゴリの順序を変更する方法

ダッシュボード上のカテゴリの順序はアルファベット順です。カスタムオーダーに変更できますか?

5
s976

この答え に答えが見つかりました。

add_filter( 'get_terms_args', 'wpse_53094_sort_get_terms_args', 10, 2 );
function wpse_53094_sort_get_terms_args( $args, $taxonomies ) 
{
    global $pagenow;
    if( !is_admin() || ('post.php' != $pagenow && 'post-new.php' != $pagenow) ) 
        return $args;

    $args['orderby'] = 'slug';
    $args['order'] = 'DESC';

    return $args;
}

order ASCまたはDESCで、 orderby は次のいずれかです。

  • count
  • description(私にとってはうまくいきませんでしたが、さらにテストが必要です)
  • name
  • slug


興味のあるプラグイン

(私達はそれらを Plinterests と呼んでもいいですか?)

最初の2つは非常に短く、あなたのコードに簡単に組み込むことができます。

4
brasofilo

プラグインを使用する 高度なカスタムフィールド (このプラグインはさまざまな方法で便利です)。次に、規則「Taxanomy_Term」が「Categories」に等しいカスタム注文フィールド(category_order)を作成します。

それからあなたのテーマのfunctions.php(またはどこか関連した場所)で以下を使ってください:

$categories = get_categories( $args );  

usort($categories, function($a, $b) {
   return get_field("category_order", "category_".$a->term_id) - get_field("category_order", "category_".$b->term_id);
});

foreach ($categories as $category){
...

Category_orderはACFで作成したフィールド名です。

これに触発されたこの投稿は ここ です。

2
Jahmic