我一直在寻找解决方案,但我什么也没找到。
我正在尝试进行 AJAX 登录。scipts 正在发送正确的数据和响应:错误或正确的登录数据。成功后页面重新加载并且......用户仍然没有登录。我试图强制设置一个cookie,但它没有;没有工作。
我正在使用 force ssl admin(如果这很重要)。
function ajax_login(){
global $user_ID;
if (!$user_ID) {
// First check the nonce, if it fails the function will break
check_ajax_referer( 'ajax-login-nonce', 'security' );
// Nonce is checked, get the POST data and sign user on
$info = array();
$info['user_login'] = $_POST['username'];
$info['user_password'] = $_POST['password'];
$info['remember'] = true;
$user_signon = wp_signon($info, true);
if (is_wp_error($user_signon)){
echo json_encode(array('loggedin'=>false, 'message'=>__('Get lost.')));
} else {
wp_set_current_user($user_ID);
wp_set_auth_cookie($user_ID);
echo json_encode(array('loggedin'=>true, 'message'=>__('Wait stupid, im redirecting...')));
}
}
die();
}
请问你能帮帮我吗?我不知道有什么问题。(在那个地方之前一切看起来都很好,数据正在正确发送, var_dump($info) 也返回正确的数据)。