Я пытаюсь использовать Wordpress API wp_get_current_user (), однако он всегда возвращает 0 пользователя с пустыми данными. Я нахожусь на новой установке Wordpress, и я только что создал свою собственную тему и добавил хук API.
Я вижу много руководств / информации о получении данных с использованием Nonce с отдельного клиента / компьютера, но я 'Я просто пытаюсь получить $ user из того же браузера, который должен быть уже зарегистрирован через интерфейс администратора WordPress. Я подтвердил, что в моем браузере установлены файлы cookie. Я понимаю, что проверка заключается в том, что wp_get_current_user () должна иметь возможность использовать эти файлы cookie для проверки моего пользователя и возврата данных. .
Просто чтобы показать, что я вошел в WordPress
Это мой файл 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 не может понять, что я вошел в систему?