成功登录后执行更多操作

时间:2013-07-12 作者:diligent

我有一个简单的要求,在用户登录后设置登录用户会话,然后重定向到另一个页面。

是的,我在这里找到了一些类似的页面is-there-a-hook-that-runs-after-a-user-logs-in

正如帖子所说,我需要做的是:

function set_blog_session(){
    $_SESSION[\'blogger\'] = get_current_user_id();
    wp_redirect("http://www.google.com");//just for test
}
add_action(\'wp_login\', \'set_blog_session\');
但我什么都没有。

第一get_current-user_id() 始终返回0.
秒,no redirect at all.

出什么事了?

1 个回复
最合适的回答,由SO网友:RRikesh 整理而成

您应该使用exit 使用后wp_redirect():

抄本:

wp\\u redirect()不会自动退出,并且应该始终后跟exit。

对于钩子,您可以在回调函数中传递一个参数以获得用户登录,然后使用get_user_by() 获取ID。

function set_blog_session($user_login){
    $user_obj = get_user_by(\'login\', $user_login );
    $_SESSION[\'blogger\'] = $user_obj->ID;

    wp_redirect("http://www.google.com");
    exit;
}
add_action(\'wp_login\', \'set_blog_session\');

结束