我使用的是自定义登录表单,与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。如何以正确的方式使用自定义登录表单记录用户?
答案 0 :(得分:1)
尝试在您的脚本中添加wp_set_auth_cookie()功能。这为用户设置了身份验证cookie,以便无缝访问Wordpress仪表板。
wp_set_auth_cookie($user_data->ID);