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

クリック数と表示回数のトラッキング

スポンサーモジュールは、各スポンサーが表示された回数(表示回数)と、訪問者がスポンサーのロゴまたは「サイトを表示」ボタンをクリックした回数(クリック数)を自動的にカウントします。どちらのカウントもスポンサー投稿の投稿メタとして保存され、スポンサー編集画面で確認できます。

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

クリック数と表示回数のトラッキング

スポンサーモジュールは、各スポンサーが表示された回数(表示回数)と、訪問者がスポンサーのロゴまたは「サイトを表示」ボタンをクリックした回数(クリック数)を自動的にカウントします。どちらのカウントもスポンサー投稿の投稿メタとして保存され、スポンサー編集画面で確認できます。

メタキー

メタキー

説明

sp_impressions

このスポンサーが訪問者に表示された合計回数

sp_clicks

訪問者がこのスポンサーをクリックした合計回数

どちらの値も管理 UI では読み取り専用です。スポンサー編集画面の説明サイドバーメタボックスに表示回数クリック数のラベルが付いたプレーンテキストフィールドとして表示されます。フィールドは readonly="readonly" でレンダリングされ、手動で編集できません。

表示回数のトラッキング

表示回数は sp_set_post_impressions() 関数でカウントされます。スポンサーテンプレートがレンダリングされるたびに、この関数がスポンサーの投稿 ID を引数として呼び出されます。現在の sp_impressions メタ値を読み取り、1 インクリメントして、update_post_meta() で書き戻します。

スポンサーにメタ値がまだ存在しない場合、インクリメントの前に 0 で初期化されます。

クリック数のトラッキング

クリック数は、訪問者がスポンサーのロゴまたは「サイトを表示」リンクをクリックしたときに JavaScript によってトリガーされる AJAX リクエストで追跡されます。クライアント側のコードは admin-ajax.php に POST リクエストを送信します。

  • action = sp_clicks

  • post_id = スポンサーの投稿 ID

  • nonce = ノンス値(sp_clicks_{post_id}

サーバー側のハンドラーは SportsPress_Sponsors::sp_clicks() です。ノンスを検証し、sp_set_post_clicks() を呼び出して表示回数のトラッキングと同じパターンで sp_clicks メタ値を 1 インクリメントします。

ログインユーザーの除外

SportsPress → 設定 → スポンサー の 2 つの設定でログインユーザーのアクティビティをカウントするかどうかを制御します。

  • 表示回数 — ログインしたユーザーを除外する(オプション ID:sportspress_exclude_authenticated_sponsor_impressions、デフォルト:no)— 有効にすると、is_user_logged_in() が true の場合に sp_set_post_impressions() が早期終了します。

  • クリック数 — ログインしたユーザーを除外する(オプション ID:sportspress_exclude_authenticated_sponsor_clicks、デフォルト:no)— 有効にすると、is_user_logged_in() が true の場合に sp_set_post_clicks() が早期終了します。

データの確認

任意のスポンサーの編集画面を開きます。説明サイドバーメタボックスに、そのスポンサーの現在の表示回数クリック数が表示されます。同じ値がスポンサー一覧画面のソート可能なカラムとしても表示されます。

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