get_current_user_id()不使用wp_login Hook - WordPress

Bri*_*son 1 php wordpress hook

我编写了一个函数,它适用于大多数钩子,例如wp_head.问题是,我似乎无法获得用户的用户ID,因为他们使用wp_login作为我的钩子登录.

get_current_user_id()什么都不返回,我似乎也无法得到任何其他用户对象.实际登录是否发生在wp_login之后?因为这对我没有意义.

Bri*_*son 10

我从来没有get_current_user_id()上班,但我确实找到了解决方案.

首先,我必须给我的功能非常低的优先级.在动作钩子中,我给它99优先级,如下:

add_action( 'wp_login', 'my_function', 99 );
Run Code Online (Sandbox Code Playgroud)

然后,get_current_user_id()我没有使用,而是$login在函数中添加了一个参数并使用了它get_userdatabylogin($login),它给了我用户信息.然后就是这样$user_ID = $user->ID.因此获取ID包括:

function my_function( $login ) {
    $user = get_user_by('login',$login);
    $user_ID = $user->ID;
    //do something with the User ID
}
Run Code Online (Sandbox Code Playgroud)

  • 钩子[需要两个参数](http://codex.wordpress.org/Plugin_API/Action_Reference/wp_login),第二个是完整的用户对象。 (2认同)