wp_is_jsonp_request()
Checks whether current request is a JSONP request, or is expecting a JSONP response.
1 time — 0.000001 sec (speed of light) | 50000 times — 0.01 sec (speed of light) | PHP 7.3.3, WP 5.2.3
Hooks from the function
Return
true|false
. True if JSONP request, false otherwise.
Usage
wp_is_jsonp_request();
Examples
#1 Return JSONP data if it is a JSONP query
$data = [ 'foo'=>'bar' ]; if( wp_is_jsonp_request() ){ header( 'Content-Type: application/javascript; charset=utf-8' ); header( 'X-Content-Type-Options: nosniff' ); header( 'X-Robots-Tag: noindex' ); nocache_headers(); $jsonp_callback = $_GET['_jsonp']; // Prepend '/**/' to mitigate possible JSONP Flash attacks. // https://miki.it/blog/2014/7/8/abusing-jsonp-with-rosetta-flash/ echo '/**/' . $jsonp_callback . '(' . wp_json_encode( $data ) . ')'; }
Changelog
Since 5.2.0 | Introduced. |
wp_is_jsonp_request() wp is jsonp request code WP 6.7.1
function wp_is_jsonp_request() { if ( ! isset( $_GET['_jsonp'] ) ) { return false; } if ( ! function_exists( 'wp_check_jsonp_callback' ) ) { require_once ABSPATH . WPINC . '/functions.php'; } $jsonp_callback = $_GET['_jsonp']; if ( ! wp_check_jsonp_callback( $jsonp_callback ) ) { return false; } /** This filter is documented in wp-includes/rest-api/class-wp-rest-server.php */ $jsonp_enabled = apply_filters( 'rest_jsonp_enabled', true ); return $jsonp_enabled; }