説明
wp_login は、ユーザーがログインしたときに実行されるアクションです。
基本構文
do_action( 'wp_login', string $user_login, WP_User $user )
引数
$user_login:ログイン名$user:WP_Userオブジェクト
戻り値
値は返しません。
使い方(サンプル)
add_action( 'wp_login', function( $login, $user ) {
update_user_meta( $user->ID, 'last_login', time() );
}, 10, 2 );
注意点
- 2つの引数を受け取るには、
add_actionの第4引数に2を指定します。
実務での使いどころ
- ログインに成功した、直後に、最終ログイン日時の保存や、通知の処理を、行うとき。
よくあるミスと対処
- 引数の順番を、間違えている。第1引数は、ユーザー名(ログイン名)、第2引数は
WP_User。第2引数を受け取るには、add_action()の第4引数を2にする。 - ログイン後の移動先を、このフックで変えようとしている。移動先の変更は、
login_redirectフィルターを使う。 - Cookieによる、自動のログイン(再訪)でも、実行されると考えている。このフックは、ログインの処理が行われたときに、実行される。
NG例
add_action( 'wp_login', function ( $user ) { // 第1引数は、ユーザー名の文字列
update_user_meta( $user->ID, 'last_login', time() );
} );
OK例
add_action( 'wp_login', function ( $user_login, $user ) {
update_user_meta( $user->ID, 'last_login', time() );
}, 10, 2 );
使い分け早見表
| フック | 実行されるタイミング |
|---|---|
wp_login |
ログインに、成功した直後 |
login_redirect フィルター |
ログイン後の移動先を、決める |
wp_signon() |
認証して、ログインする関数 |

コメント