@@ -3891,16 +3891,13 @@ function _default_wp_die_handler( $message, $title = '', $args = array() ) {
38913891 if ( function_exists ( 'is_wp_error ' ) && is_wp_error ( $ message ) ) {
38923892 $ error_code = $ message ->get_error_code ();
38933893 $ is_critical_error = ( 'internal_server_error ' === $ error_code );
3894- } elseif ( 'internal_server_error ' === $ parsed_args ['code ' ] ) {
3894+ } elseif ( 'internal_server_error ' === $ parsed_args ['code ' ] || 500 === $ parsed_args [ ' response ' ] ) {
38953895 $ is_critical_error = true ;
38963896 }
38973897
3898- // Also ensure HTTP 500 if response is already set to 500 (from fatal error handler).
3899- if ( $ is_critical_error || 500 === $ parsed_args ['response ' ] ) {
3898+ if ( $ is_critical_error ) {
39003899 $ parsed_args ['response ' ] = 500 ;
3901- if ( function_exists ( 'http_response_code ' ) ) {
3902- http_response_code ( 500 );
3903- }
3900+ http_response_code ( 500 );
39043901 }
39053902
39063903 if ( ! did_action ( 'admin_head ' ) ) :
@@ -4241,12 +4238,12 @@ function _xml_wp_die_handler( $message, $title = '', $args = array() ) {
42414238
42424239 $ xml = <<<EOD
42434240<error>
4244- <code> {$ parsed_args ['code ' ]}</code>
4245- <title><![CDATA[ {$ title }]]></title>
4246- <message><![CDATA[ {$ message }]]></message>
4247- <data>
4248- <status> {$ parsed_args ['response ' ]}</status>
4249- </data>
4241+ <code> {$ parsed_args ['code ' ]}</code>
4242+ <title><![CDATA[ {$ title }]]></title>
4243+ <message><![CDATA[ {$ message }]]></message>
4244+ <data>
4245+ <status> {$ parsed_args ['response ' ]}</status>
4246+ </data>
42504247</error>
42514248
42524249EOD ;
0 commit comments