クリック数と表示回数のトラッキング
スポンサーモジュールは、各スポンサーが表示された回数(表示回数)と、訪問者がスポンサーのロゴまたは「サイトを表示」ボタンをクリックした回数(クリック数)を自動的にカウントします。どちらのカウントもスポンサー投稿の投稿メタとして保存され、スポンサー編集画面で確認できます。
メタキー
メタキー | 説明 |
| このスポンサーが訪問者に表示された合計回数 |
| 訪問者がこのスポンサーをクリックした合計回数 |
どちらの値も管理 UI では読み取り専用です。スポンサー編集画面の説明サイドバーメタボックスに表示回数とクリック数のラベルが付いたプレーンテキストフィールドとして表示されます。フィールドは readonly="readonly" でレンダリングされ、手動で編集できません。
表示回数のトラッキング
表示回数は sp_set_post_impressions() 関数でカウントされます。スポンサーテンプレートがレンダリングされるたびに、この関数がスポンサーの投稿 ID を引数として呼び出されます。現在の sp_impressions メタ値を読み取り、1 インクリメントして、update_post_meta() で書き戻します。
スポンサーにメタ値がまだ存在しない場合、インクリメントの前に 0 で初期化されます。
クリック数のトラッキング
クリック数は、訪問者がスポンサーのロゴまたは「サイトを表示」リンクをクリックしたときに JavaScript によってトリガーされる AJAX リクエストで追跡されます。クライアント側のコードは admin-ajax.php に POST リクエストを送信します。
action=sp_clickspost_id= スポンサーの投稿 IDnonce= ノンス値(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()が早期終了します。
データの確認
任意のスポンサーの編集画面を開きます。説明サイドバーメタボックスに、そのスポンサーの現在の表示回数とクリック数が表示されます。同じ値がスポンサー一覧画面のソート可能なカラムとしても表示されます。
