web-dev-qa-db-ja.com

カスタム分類ごとの並べ替え

私は、チーム、ポジション、およびリーグ分類法を含むBaseball Playersというカスタム投稿タイプを持っています。チームはチーム名、ロゴ、説明、およびコーチで構成されています。位置は名前だけで構成されています。リーグは名前、ロゴ、説明で構成されています。そのため、新しい野球選手のカスタム投稿タイプを作成するときには、その選手のチーム、ポジション、およびリーグを割り当てることができます。

今、私はプレイヤーが各分類に表示される順番をカスタマイズする方法を探しています。たとえば、チーム名で選手を見ると、順番はチームごとにまったく異なります。ポジション、リーグ、または特定の分野によるものではありません。ポジションとリーグについても同じことが言えます。リーグ別にプレイヤーを表示すると、リーグごとにプレイヤーの順番が異なります。 menu_orderフィールドで複数のmenu_orderフィールドが必要になるので(チームごと、ポジションごと、リーグごとに1つずつ)、これを実装することはできません。これが唯一の解決策かもしれませんが。

分類法の各用語に対してこのユニークな順序を処理する方法はありますか?さらに、分類法に複数のカスタムフィールドを追加する方法はありますか(例:team、チーム名、ロゴ、説明、およびコーチを含む)。

さらに説明が必要な場合はお知らせください。任意の助けは大歓迎です。ありがとうございます。

3
jaysonp

分類法の各用語に対してこのユニークな順序を処理する方法はありますか?

カスタムフィールドを使用して、プレーヤーの順番を保存できます(例:team_order、league_order、position_order)。そして、あなたのインデックス、アーカイブ、または分類テンプレートファイル(あなたが使うものは何でも)の順序を動的に修正します。

if( is_tax(array('team','league','position')) ) {
    if( is_tax('team') {
        $wp_query->set('meta_key', 'team_order');
    } elseif( is_tax('league') {
        $wp_query->set('meta_key', 'league_order');
    } elseif( is_tax('position') {
        $wp_query->set('meta_key', 'position_order');
    }
    $wp_query->set('orderby', 'meta_value');
    $wp_query->get_posts();
}

さらに、分類法に複数のカスタムフィールドを追加する方法はありますか(例:team、これにはチーム名、ロゴ、説明、およびコーチが含まれます)。

もちろん、箱から出して、これをカスタム投稿タイプまたはオプションテーブルに保存できます。

2
sorich87