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

通算成績

通算成績は、すべてのシーズンとリーグを横断した選手の統計を 1 行にまとめます。

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

通算成績

通算成績は、すべてのシーズンとリーグを横断した選手の統計を 1 行にまとめます。

通算成績に表示される内容

通算成績は各統計のシーズン別の値をすべて合計することで計算されます。内部的には合計とラベル付けされています(マージされたデータ配列の name キーは 'Total'team キーは '-' が表示されます)。

合計ではなく平均タイプの統計では、通算成績は単純に合計するのではなく、統計の数式を使用して再計算されます。これによりシーズンを横断しても平均値が意味を持ち続けます。

2 つの「合計」行

統計メタボックスには 2 つの異なる合計概念があります。

  1. シーズン合計行 — 各リーグ別テーブル内のフッター行。そのリーグ内のすべてのシーズンの合計を表示します。この行は常に管理メタボックスに表示されます。選手設定の合計表示オプションをトグルすると、フロントエンドでのこの行の表示が制御されます。

  1. 通算成績セクション — 有効な場合、すべてのリーグ別テーブルの下に表示されます。選手が所属するすべてのリーグの統計が加算されます。選手設定の通算成績表示オプションを有効にすると、管理画面とフロントエンドの両方で表示が制御されます。

通算成績の有効化

  1. SportsPress > 設定 > 選手 に移動します。

  2. 統計セクションの表示するを探します。

  3. 通算成績にチェックを入れます。

  4. 設定を保存します。

オプションキーは sportspress_player_show_career_total です。デフォルト値は no です。

フロントエンドでのシーズン合計行の有効化

同じ表示するチェックボックスグループで、合計にチェックを入れて選手プロフィールページにリーグ別のシーズン合計行を表示します。オプションキーは sportspress_player_show_total です。デフォルト値は no です。

通算成績の手動上書き

選手編集画面の統計メタボックスの通算成績テーブル行に値を直接入力することで通算成績を上書きできます。手動値はリーグ ID 0、シーズン ID 0 の下に sp_statistics に保存されます。手動値が存在する場合、そのカラムの自動計算された合計より優先されます。

計算の仕組み

SP_Player::data() メソッドは以下を実行します。

  1. 選手が割り当てられたすべてのシーズンをループします。

  2. 各シーズンについて、選手が sp_players メタに含まれるすべての競技イベントを照会します。

  3. パフォーマンス値を $totals に合計します。

  4. 統計数式を適用して $placeholders のシーズン別の値を生成します。

  5. $merged(シーズン別の行)を構築します。

  6. すべてのシーズンが処理された後、$merged をループして $career 配列を蓄積します。

  7. 合計タイプの統計については、すべてのシーズン値を合計します。

  8. 平均タイプの統計については、蓄積された合計を使用して数式を再解決します。

  9. 計算された値の上に手動で入力された通算データをマージします。

  10. 結果を $merged[-1] に保存します。

通算行は内部的に $merged 配列のキー -1 として保持されます。

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