2

解決策を探していましたが、何も見つかりませんでした。

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) も正しいデータを返します)。

4

2 に答える 2