diff --git a/wp-includes/functions.php b/wp-includes/functions.php index b5138aff9b..1cb50feb6d 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -1293,9 +1293,31 @@ function wp_nonce_ays($action) { wp_die($html, $title); } -function wp_die($message, $title = '') { +function wp_die( $message, $title = '' ) { global $wp_locale; + if ( is_wp_error( $message ) ) { + if ( empty($title) ) { + $error_data = $message->get_error_data(); + if ( is_array($error_data) && isset($error_data['title']) ) + $title = $error_data['title']; + } + $errors = $message->get_error_messages(); + switch ( count($errors) ) : + case 0 : + $message = ''; + break; + case 1 : + $message = "
{$errors[0]}
"; + break; + default : + $message = "$message
"; + } + header('Content-Type: text/html; charset=utf-8'); if ( empty($title) ) @@ -1319,11 +1341,11 @@ function wp_die($message, $title = '') { - + +