Make WordPress Core

Ticket #64256: wp-includes-functions.php.patch

File wp-includes-functions.php.patch, 1.2 KB (added by swissky, 6 months ago)
  • wp-includes/functions.php

     
    38863886                $message  .= "\n<p><a href='javascript:history.back()'>$back_text</a></p>";
    38873887        }
    38883888
     3889        // Ensure HTTP 500 status code for critical errors, even if headers were already sent.
     3890        $is_critical_error = false;
     3891        if ( is_string( $message ) ) {
     3892                $is_critical_error = (
     3893                        false !== stripos( $message, 'critical error' ) ||
     3894                        false !== stripos( $message, 'There has been a critical error' )
     3895                );
     3896        } elseif ( function_exists( 'is_wp_error' ) && is_wp_error( $message ) ) {
     3897                $error_message = $message->get_error_message();
     3898                $is_critical_error = (
     3899                        false !== stripos( $error_message, 'critical error' ) ||
     3900                        false !== stripos( $error_message, 'There has been a critical error' )
     3901                );
     3902        }
     3903
     3904        if ( $is_critical_error ) {
     3905                $parsed_args['response'] = 500;
     3906                // Set HTTP status code even if headers were already sent.
     3907                if ( function_exists( 'http_response_code' ) ) {
     3908                        http_response_code( 500 );
     3909                }
     3910        }
     3911
    38893912        if ( ! did_action( 'admin_head' ) ) :
    38903913                if ( ! headers_sent() ) {
    38913914                        header( "Content-Type: text/html; charset={$parsed_args['charset']}" );