WordPress Version: 6.5
/**
* Kills WordPress execution and displays JSON response with an error message.
*
* This is the handler for wp_die() when processing JSON requests.
*
* @since 5.1.0
* @access private
*
* @param string $message Error message.
* @param string $title Optional. Error title. Default empty string.
* @param string|array $args Optional. Arguments to control behavior. Default empty array.
*/
function _json_wp_die_handler($message, $title = '', $args = array())
{
list($message, $title, $parsed_args) = _wp_die_process_input($message, $title, $args);
$data = array('code' => $parsed_args['code'], 'message' => $message, 'data' => array('status' => $parsed_args['response']), 'additional_errors' => $parsed_args['additional_errors']);
if (isset($parsed_args['error_data'])) {
$data['data']['error'] = $parsed_args['error_data'];
}
if (!headers_sent()) {
header("Content-Type: application/json; charset={$parsed_args['charset']}");
if (null !== $parsed_args['response']) {
status_header($parsed_args['response']);
}
nocache_headers();
}
echo wp_json_encode($data);
if ($parsed_args['exit']) {
die;
}
}