wp_is_json_request()WP 5.0.0

Checks whether current request is a JSON request, or is expecting a JSON response.

1 time — 0.000001 sec (speed of light) | 50000 times — 0.02 sec (speed of light) | PHP 7.2.5, WP 5.0

No Hooks.

Return

true|false. True if Accepts or Content-Type headers contain application/json. False otherwise.

Usage

wp_is_json_request();

Examples

0

#1 Return JSON data when the query waits for it

$data = [ 'foo'=>'bar' ];

if( wp_is_json_request() ){
	echo json_encode( $data );
}
else {
	echo serialize( $data );
}

Changelog

Since 5.0.0 Introduced.

wp_is_json_request() code WP 6.5.2

function wp_is_json_request() {
	if ( isset( $_SERVER['HTTP_ACCEPT'] ) && wp_is_json_media_type( $_SERVER['HTTP_ACCEPT'] ) ) {
		return true;
	}

	if ( isset( $_SERVER['CONTENT_TYPE'] ) && wp_is_json_media_type( $_SERVER['CONTENT_TYPE'] ) ) {
		return true;
	}

	return false;
}