I am starting a bit with the REST API. If I am not completly mislead, the
init action hook is also executed when its a REST API request. Now, I want to execute some code only, when it is not a REST API request.
So I was looking for a command like
is_rest() in order to do something like
<?php if( ! is_rest() ) echo 'no-rest-request'; ?>
But I couldn’t find something like this. Is there a
is_rest() out there?
It’s a good point by @Milo, the
REST_REQUEST constant is defined as
$GLOBALS['wp']->query_vars['rest_route'] is non-empty.
It’s hooked into
add_action( 'parse_request', 'rest_api_loaded' );
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 was postponed/cancelled.