グループステージ
SportsPress Pro のトーナメントには、ノックアウトブラケットとともにグループステージを含めることができます。グループステージは、トーナメント投稿にリンクされた標準のリーグテーブルを使用します。リンクされたテーブルが存在する場合、トーナメントページのブラケットの下のグループセクションに表示されます。
グループステージの仕組み
グループステージは別のトーナメント形式ではありません。トーナメントの投稿 ID をテーブルの sp_tournament メタ値に保存することで、特定のトーナメント投稿に関連付けられたリーグテーブル(sp_table 投稿タイプ)です。任意のリーグテーブルをこの方法でトーナメントにリンクできます。
トーナメントページは sp_tournament が現在のトーナメントの ID に設定されたすべてのリーグテーブルを自動的に照会し、「グループ」見出しの下にまとめて表示します。
グループエディターへのアクセス
トーナメントを編集すると、メインコンテンツエリアのブラケットエディターの下(またはダブルエリミネーションブラケットセクションの下)にグループメタボックスが表示されます。このメタボックスはデータベースを照会して、このトーナメントにリンク済みのリーグテーブルを検索し、標準のリーグテーブルエディターを使用してそれぞれをレンダリングします。
グループメタボックスの下部には新規追加ボタンがあります。クリックすると現在のトーナメントの ID が事前入力された状態でリーグテーブルエディターが新しい管理パネルで開き、テーブルを手動でリンクするステップを省略できます。
グループ用リーグテーブルの作成
トーナメント編集画面を開きます。
グループメタボックスまでスクロールします。
新規追加をクリックして新しいリーグテーブルを開きます。テーブルは現在のトーナメントに事前リンクされます。
通常のリーグテーブルと同様にリーグテーブルを設定します。チームを割り当て、カラムを設定し、コンペティションとシーズンを追加します。
リーグテーブルを保存します。
トーナメント編集画面に戻ります。新しいテーブルがグループメタボックスに表示されます。
または、リーグテーブルを直接編集することで既存のリーグテーブルをトーナメントにリンクできます。リーグテーブルエディターには、テーブル詳細セクションにトーナメントモジュールによって追加されたトーナメントセレクターが含まれています。そこで 1 つまたは複数のトーナメントを選択して保存します。
テーブルを複数のトーナメントにリンクする
リーグテーブルのトーナメントセレクターは複数の選択をサポートします。複数のトーナメント ID を選択することで、1 つのリーグテーブルが複数のトーナメントのグループセクションに表示できます。
フロントエンドでのグループの表示
トーナメントページがレンダリングされると、tournament-tables.php テンプレートが優勝者パネルとブラケットの後に実行されます。トーナメントにリンクされたすべてのテーブルを照会し、.sp-tournament-tables コンテナ内にレンダリングします。
リンクされたテーブルが 2 つ以上ある場合、並べて表示されます。最初のテーブルが左揃え、2 番目が右揃え、3 番目が再び左揃えというように交互のペアで表示されます。
リンクされたテーブルが 1 つだけの場合は、揃えクラスなしでフル幅で表示されます。
各テーブルは標準の league-table.php テンプレートを使用してレンダリングされます。サイトの他の場所で使用されているのと同じテンプレートです。
「グループ」セクションの見出しは翻訳可能な文字列「グループ」(__( 'Groups', 'sportspress' ))であり、SportsPress > 設定 > テキストでカスタマイズできます。
sportspress_tournament_show_tables オプション
グループの表示は sportspress_tournament_show_tables という名前の WordPress オプションによって制御されます。このオプションが 'no' に設定されている場合、グループセクション全体が非表示になります。デフォルト値は 'yes' です。このオプションは SportsPress の設定 UI には公開されていません。プログラムで設定できます。
update_option( 'sportspress_tournament_show_tables', 'no' );
実装されていない機能
トーナメントモジュールで参照されている sp_group タクソノミー(add_event_taxonomy() 内)はメソッドとして定義されていますが、コンストラクター内の WordPress フックには接続されていません。sp_group タクソノミーはコードベースのどこにも登録されていません。イベントやチームにグループタクソノミーをタグ付けするメカニズムはなく、グループをタクソノミーとして作成・管理する UI もありません。SportsPress Pro のグループはタクソノミーベースのグループ化システムではなく、リンクされたリーグテーブルとしてのみ実装されています。
まとめ
グループステージ = トーナメント投稿 ID を指す
sp_tournamentメタを持つリーグテーブル。テーブルはトーナメント編集画面のグループメタボックスに表示されます。
そのメタボックスの新規追加を使用して事前リンクされたテーブルを作成するか、リーグテーブルエディターから既存のテーブルをリンクします。
複数のテーブルはフロントエンドでペアで並べて表示されます。
sportspress_tournament_show_tables='no'で表示を非表示にできます。
