メインコンテンツにスキップ

試合ステータスによるフィルタリング

デフォルトでは、リーグテーブルは 2 つの WordPress 投稿ステータスのイベントをカウントします。公開済みイベント(結果入力済み)と予約された将来のイベント(まだ結果なし)です。これらのステータスのどちらか一方のみをカウントするようにテーブルを制限して、どのイベントが順位に貢献するかを制御できます。

今日アップデートされました

試合ステータスによるフィルタリング

デフォルトでは、リーグテーブルは 2 つの WordPress 投稿ステータスのイベントをカウントします。公開済みイベント(結果入力済み)と予約された将来のイベント(まだ結果なし)です。これらのステータスのどちらか一方のみをカウントするようにテーブルを制限して、どのイベントが順位に貢献するかを制御できます。

設定の場所

リーグテーブルの編集画面を開きます。詳細メタボックスで試合ステータス(結果あり)セクションを見つけます。2 つのチェックボックスが含まれています。

  • 公開済み/試合済みpost_status = publish のイベントをカウントします

  • 予約済み/将来post_status = future のイベントをカウントします

両方のチェックボックスはデフォルトでオンになっています。

フィルターの変更方法

  1. リーグテーブルの編集画面を開きます。

  2. 詳細メタボックスで試合ステータス(結果あり)を探します。

  3. 除外したいステータスのチェックを外します。

  4. 更新 をクリックします。

例えば、試合済みで結果が入力されたイベントのみをカウントするには:

  • 公開済み/試合済みをオン

  • 予約済み/将来をオフ

まだ試合されていない予約済みイベントのみをカウントするには:

  • 公開済み/試合済みをオフ

  • 予約済み/将来をオン

仕組み

リーグテーブルが順位を計算するとき、選択されたステータス値を WordPress のイベントクエリへの post_status 引数として渡します。post_status がチェックされた値のいずれかと一致するイベントのみが計算に含まれます。他のステータス(下書き、保留中、ゴミ箱)のイベントは、この設定に関係なくカウントされません。

この設定はリーグテーブル投稿の sp_event_status 投稿メタフィールドにステータス文字列の配列として保存されます。

ショートコードによる上書き

ショートコードはテーブルを編集せずにこのフィルターを上書きする属性も受け付けます。

  • show_published_events="1" — 公開済みイベントを強制的に含める

  • show_published_events="0" — 公開済みイベントを強制的に除外する

  • show_future_events="1" — 将来/予約済みイベントを強制的に含める

  • show_future_events="0" — 将来/予約済みイベントを強制的に除外する

これらのショートコード属性は保存されたメタボックス値より優先されます。クエリが実行される前に最終的なステータス配列が重複排除されます。

こちらの回答で解決しましたか?