wp_is_xml_request()WP 5.2.0

Checks whether current request is an XML request, or is expecting an XML response.

No Hooks.

Return

true|false. True if Accepts or Content-Type headers contain text/xml or one of the related MIME types. False otherwise.

Usage

wp_is_xml_request();

Changelog

Since 5.2.0 Introduced.

wp_is_xml_request() code WP 6.5.2

function wp_is_xml_request() {
	$accepted = array(
		'text/xml',
		'application/rss+xml',
		'application/atom+xml',
		'application/rdf+xml',
		'text/xml+oembed',
		'application/xml+oembed',
	);

	if ( isset( $_SERVER['HTTP_ACCEPT'] ) ) {
		foreach ( $accepted as $type ) {
			if ( str_contains( $_SERVER['HTTP_ACCEPT'], $type ) ) {
				return true;
			}
		}
	}

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

	return false;
}