解決策を探していましたが、何も見つかりませんでした。
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) も正しいデータを返します)。