modemlooper avatar
AboutBlog

WordPress Allow CORS in REST API

•1 min read
wordpressRest 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
);