diff --git a/src/wp-includes/functions.php b/src/wp-includes/functions.php index c4ecb81f66160..30b4226b7da0f 100644 --- a/src/wp-includes/functions.php +++ b/src/wp-includes/functions.php @@ -4034,6 +4034,10 @@ function _json_wp_die_handler( $message, $title = '', $args = array() ) { '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'] ) { @@ -4072,6 +4076,10 @@ function _jsonp_wp_die_handler( $message, $title = '', $args = array() ) { '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/javascript; charset={$parsed_args['charset']}" ); header( 'X-Content-Type-Options: nosniff' ); @@ -4249,6 +4257,9 @@ function _wp_die_process_input( $message, $title = '', $args = array() ) { if ( empty( $title ) && is_array( $errors[0]['data'] ) && ! empty( $errors[0]['data']['title'] ) ) { $title = $errors[0]['data']['title']; } + if ( WP_DEBUG_DISPLAY && is_array( $errors[0]['data'] ) && ! empty( $errors[0]['data']['error'] ) ) { + $args['error_data'] = $errors[0]['data']['error']; + } unset( $errors[0] ); $args['additional_errors'] = array_values( $errors );