wp_login事件action接收参数user_login/username
wp_login事件定义为当用户登录时触发,它是写在wp_signon函数里的一个hook,该do_action出现在wp_signon函数的倒数第二行:
wp_set_auth_cookie($user->ID, $credentials['remember'], $secure_cookie);
do_action('wp_login', $credentials['user_login']);
return $user;
显然wp_login传递参数为用户名user_login(亦即username),因此要在这里获取user的信息,还需要使用一个函数get_user_by,这个函数很特别,第一个参数是给定的字符串,这里应该使用get_user_by(“login”,$user_login)。
另外值得说明的是,在wp_login事件里用wp_get_current_user和get_current_user_id全部无效。
分类: Wordpress