_xml_wp_die_handler()WP 5.2.0

Kills WordPress execution and displays XML response with an error message.

This is the handler for wp_die() when processing XML requests.

Internal function — this function is designed to be used by the kernel itself. It is not recommended to use this function in your code.

No Hooks.

Return

null. Nothing (null).

Usage

_xml_wp_die_handler( $message, $title, $args );
$message(string) (required)
Error message.
$title(string)
Error title.
Default: empty string
$args(string|array)
Arguments to control behavior.
Default: empty array

Changelog

Since 5.2.0 Introduced.

_xml_wp_die_handler() code WP 6.5.2

function _xml_wp_die_handler( $message, $title = '', $args = array() ) {
	list( $message, $title, $parsed_args ) = _wp_die_process_input( $message, $title, $args );

	$message = htmlspecialchars( $message );
	$title   = htmlspecialchars( $title );

	$xml = <<<EOD
<error>
    <code>{$parsed_args['code']}</code>
    <title><![CDATA[{$title}]]></title>
    <message><![CDATA[{$message}]]></message>
    <data>
        <status>{$parsed_args['response']}</status>
    </data>
</error>

EOD;

	if ( ! headers_sent() ) {
		header( "Content-Type: text/xml; charset={$parsed_args['charset']}" );
		if ( null !== $parsed_args['response'] ) {
			status_header( $parsed_args['response'] );
		}
		nocache_headers();
	}

	echo $xml;
	if ( $parsed_args['exit'] ) {
		die();
	}
}