modemlooper avatar
About Blog

WordPress Allow CORS in REST API

1 min read
wordpress Rest api

WordPress Allow CORS in REST API. May need to access REST API from iOS or Android app.

/**
 * Allow cross domain api access from iOS and Android
 *
 * @param WP_Rest_Request $request
 * @return void
 */
function modemlooper_init_cors( $request ) {
	$origin_url = '*';

	header( 'Access-Control-Allow-Origin: ' . $origin_url );
	header( 'Access-Control-Allow-Methods: GET,DELETE,POST,PUT,PATCH,OPTIONS' );
	header( 'Access-Control-Allow-Credentials: true' );
	return $request;
}
add_action(
	'rest_api_init',
	function() {
		remove_filter( 'rest_pre_serve_request', 'rest_send_cors_headers' );
		add_filter( 'rest_pre_serve_request', 'modemlooper_init_cors' );
	},
	15
);