0
我正在使用自定义登录表单,这里是代码。成功登录后重定向到/门户页面,但在门户页面用户登录状态为false。is_user_logged_in()在wp_signon后返回false
$email = $_REQUEST['login_email'];
$password = $_REQUEST['login_password'];
$args = array(
'orderby' => 'login',
'order' => 'ASC',
'fields' => 'all'
);
$count=0;
$all_users = get_users($args);
$login_data['user_password'] = $password;
$login_data['user_login'] = $email;
$login_data['remember'] = true;
$user_verify = wp_signon($login_data, true);
$userID = $user_verify->ID;
do_action('wp_login', $email);
wp_set_current_user($userID, $email);
wp_set_auth_cookie($userID, true, false);
if (is_wp_error($user_verify)){
$loginerror = true;
$errors['login_error']=__("Error in login",'domain');
}
else{
$loginSuccess = true;
$_SESSION['login_email']=$email; // Initializing Session
if(empty($previous_location))
{
wp_safe_redirect(home_url('/portal/'));
}
else{
wp_safe_redirect($previous_location);
}
exit();
}
但/portal
页时,我var_dump(is_user_logged_in())
返回false。这里发生了什么?我做了什么?
我将我的网站托管在yourdomain.com/folder – Ninja
当您在wp-config.php中将WP_DEBUG设置为true时,是否会收到任何错误,警告信息 – tousif
完全没有。我没有错误。这是用cookie来实现的吗?在wp_sigon之后,我得到了用户详细信息,并且'is_user_logged_in()'在该页面中也是true,但是当我移动到其他页面的网站时,则is_user_logged_in()返回false – Ninja