wp_get_current_user() function not working in Rest API callback function

Logged in on your website doesn’t mean the user is authenticated in the REST API request, that’s why you are not getting the correct user or a Id = 0 Please take a look to the REST API authentication methods on the docs: https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/ For developers making manual Ajax requests, the nonce will need to … Read more

WP REST API — How to change HTTP Response status code?

You can return a WP_Error object in which you define the status code. Here’s a snippet from the REST API documentation: function my_awesome_func( $data ) { $posts = get_posts( array( ‘author’ => $data[‘id’], ) ); if ( empty( $posts ) ) { return new WP_Error( ‘awesome_no_author’, ‘Invalid author’, array( ‘status’ => 404 ) ); } … Read more

Get post count in wp rest API v2 and get all categories

The WP Rest API sends the total count(found_posts) property from WP_Query. in a header called X-WP-Total. FOR POSTS: you can make a call to posts endpoint of the REST API http://demo.wp-api.org/wp-json/wp/v2/posts The value for posts count is returned in the header as X-WP-Total. Below is a sample response from the hosted demo Access-Control-Allow-Headers:Authorization, Content-Type Access-Control-Expose-Headers:X-WP-Total, … Read more

REST API purpose?

At its current state, it is a badly engineered feature that do not have any real advantage for a competent developer. The basic idea, as it stands at the time this answer is written, is to expose WordPress core functionality as JSON REST API. This will enable decoupling of the WordPress “business” logic from the … Read more

Does something like is_rest() exist

It’s a good point by @Milo, the REST_REQUEST constant is defined as true, within rest_api_loaded() if $GLOBALS[‘wp’]->query_vars[‘rest_route’] is non-empty. It’s hooked into parse_request via: add_action( ‘parse_request’, ‘rest_api_loaded’ ); but parse_request fires later than init – See for example the Codex here. There was a suggestion (by Daniel Bachhuber) in ticket #34373 regarding WP_Query::is_rest(), but it … Read more