Google Tag Manager(Google Analytics)+WordPressでログイン履歴

WordPressにログインした履歴を保存する機能を実装しているときの覚書。

環境: WordPress 5.2.4



1.ログイン時にデータベースに保存する

今回はログインしているかどうかが分かれば十分なので、ログイン時にadd_user_metaすてデータベースにも保存しておく。
function func_wp_login($user_login, $user) {
if (!empty($user->ID)) {
// Login History
$info = [current_time('mysql')];
$info[] = $_SERVER['REMOTE_ADDR'];
$info[] = $_SERVER['HTTP_USER_AGENT'];
add_user_meta($user->ID, 'login_history', implode(',', $info));
}
}
add_action('wp_login', 'func_wp_login', 10, 2);

参考: Plugin API/Action Reference/wp login | WordPress Codex

頻繁にログインするサイトの場合は履歴を保持する上限を決めた方がいいかもしれない。



2.Google AnalyticsのUser ID機能を使う

ここまで導入しなかったけど、下記情報が参考になりそう。



【関連記事】