WordPress には is_home()
とか is_singular()
とかリクエストされたページがなにかを判別する関数がいろいろありますが、それが REST API であるかどうかを判別するための関数がないので書いた。
/**
* Returns the true if the requested URL is REST API.
*
* @return bool
*/
function is_rest() {
return ( defined( 'REST_REQUEST' ) && REST_REQUEST );
}
ただし、これは parse_request
というアクションフックが発火したあとじゃないと常に false
を返すので以下のように使ってください。
add_action( 'parse_request', function() {
if ( ! is_rest() ) {
// do something.
}
}, 11 );