我試圖添加一個自定義請求。如何使用Wordpress Rest Api獲取當前登錄的用戶?
add_action('rest_api_init', function() {
register_rest_route('custom', '/login', array(
'methods' => 'GET',
'callback' => function(WP_REST_Request $request) {
return wp_get_current_user();
}
));
});
但它總是返回ID = 0的用戶; 我也試過這個:
add_action('rest_api_init', function() {
register_rest_route('custom', '/login', array(
'methods' => 'GET',
'callback' => function(WP_REST_Request $request) {
return is_user_logged_in();
}
));
});
它總是返回false。 但用戶登錄確定。
我將自己的自定義登錄
add_action('rest_api_init', function() {
register_rest_route('custom', '/login', array(
'methods' => 'POST',
'callback' => function(WP_REST_Request $request) {
$nonce = wp_create_nonce("wp_rest");
$user = wp_signon(array('user_login' => $_POST['username'],
'user_password' => $_POST['password'], "rememberme" => true), false);
if (is_wp_error($user)) {
return $user;
}
//do_action('wp_login', "capad");
//$user['isloggedin'] = is_user_logged_in();
return array('user' => $user,
'nonce' => $nonce);
}
));
});
和我添加 「X-WP-隨機數」 爲標題的HTTP請求
現在每個請求輸出:{"code":"rest_cookie_invalid_nonce","message":"Cookie nonce is invalid","data":{"status":403}}
你得到這個工作?你能發佈解決方案嗎?謝謝 – raison