Wordpress получает информацию о пользователе из того же браузера, который зашел на сайт - PullRequest
0 голосов
/ 12 октября 2019

Я пытаюсь использовать Wordpress API wp_get_current_user (), однако он всегда возвращает 0 пользователя с пустыми данными. Я нахожусь на новой установке Wordpress, и я только что создал свою собственную тему и добавил хук API.

Я вижу много руководств / информации о получении данных с использованием Nonce с отдельного клиента / компьютера, но я 'Я просто пытаюсь получить $ user из того же браузера, который должен быть уже зарегистрирован через интерфейс администратора WordPress. Я подтвердил, что в моем браузере установлены файлы cookie. Я понимаю, что проверка заключается в том, что wp_get_current_user () должна иметь возможность использовать эти файлы cookie для проверки моего пользователя и возврата данных. cookies.

Просто чтобы показать, что я вошел в WordPress a

Это мой файл functions.php, расположенный в wp-content / themes / myapi / functions /

add_action('rest_api_init', function () {
    register_rest_route( 'api', 'test',array(
                  'methods'  => 'GET',
                  'callback' => 'logged_in_wp',               
        ));
});

function logged_in_wp($request){
    if ( is_user_logged_in() ) {
        return new WP_Error( 'me', 'me', array( 'status' => 200 ) );

    }

    return new WP_Error( 'not-logged in WP', 'not-logged in WP', array( 'status' => 400 ) );

}

?> 

Я использую следующий URL для доступа к данным http://localhost:8080/?rest_route=/api/test

Я ожидаю, что он вернет мне, мне, 200, вместо этого, я вижу только ошибку 400, не зарегистрированную в системе.

так в чем же разница между localhost:8080 и localhost:8080?rest_route=/api/test, что wordpress не может понять, что я вошел в систему?

1 Ответ

0 голосов
/ 16 октября 2019

Итак, я полагаю, поскольку никто не отвечает и основываясь на чтениях, которые я сделал. То, что я прошу, невозможно. Похоже, это WordPress ответ безопасности. Вам нужно будет пройти аутентификацию, даже если пользователь вошел в Wordpress в том же домене / браузере.

...