ユーザーの最終ログイン日を記録する方法をご紹介いたします。また、記録した最終ログイン日をユーザー一覧に出力する方法も併せて解説いたします。
WordPressで各ユーザーの最終ログイン日を記録する方法
ユーザーの最終ログイン日を記録するには、下記を適用しているテーマのfunctions.phpに追加します。
function user_last_login( $user_login, $user ) {
  update_user_meta( $user->ID, 'last_login', time() );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );
ユーザーがログインしたタイミングで、”last_login”というメタ情報としてログイン日時が記録されるようになります。
記録した最終ログイン日をユーザー一覧で出力するには、下記コードもfunctions.phpに追加します。
function add_users_columns( $columns ) {
  $columns['columns_lastlogin'] = '最終ログイン';
  return $columns;
}
function add_users_custom_column( $column_name, $column, $user_id ) {
  if ( $column == 'columns_lastlogin' ) {
    $user_info = get_userdata($user_id);
    $user_lastlogin_time = $user_info->last_login;
    return date('Y/m/d',intval($user_lastlogin_time));
  }
}
add_filter( 'manage_users_columns', 'add_users_columns' );
add_filter( 'manage_users_custom_column', 'add_users_custom_column', 10, 3 );
管理画面でユーザー一覧にアクセスすると、以下のように最終ログイン日の列が追加されます。
あとがき
最終ログイン日が分かれば、そのユーザーがアクティブかどうかを把握することができますね。
会員制サイトなどで、各ユーザーの最終ログイン日を記録しておきたい場合は、ぜひ参考にしていただければと思います。


