如何在WordPress中以正确的方式记录用户?

时间:2012-03-03 17:59:28

标签: wordpress authentication

我使用的是自定义登录表单,与wp-admin中的表单相同,表单操作位于如下所示的同一页面中:

if($_POST){
    //We shall SQL escape all inputs
    $username = $wpdb->escape($_REQUEST['username']);
    $password = $wpdb->escape($_REQUEST['password']);
    $remember = $wpdb->escape($_REQUEST['rememberme']);
    $redirect = $wpdb->escape($_REQUEST['redirect_to']);

    if($redirect == ''){$redirect= get_bloginfo('home').'/start/?login=true';}

    if($remember){$remember = "true";}
    else {$remember = "false";}

    $login_data = array();
    $login_data['user_login'] = $username;
    $login_data['user_password'] = $password;
    $login_data['remember'] = $remember;
    $user_verify = wp_signon( $login_data, true ); 
}

用户成功登录,但是当用户指向wp-admin文件夹时,他被要求使用原始wordpress登录表单再次登录,我注意到wp-login页面标题中的reauth = 1。如何以正确的方式使用自定义登录表单记录用户?

1 个答案:

答案 0 :(得分:1)

尝试在您的脚本中添加wp_set_auth_cookie()功能。这为用户设置了身份验证cookie,以便无缝访问Wordpress仪表板。

wp_set_auth_cookie($user_data->ID);