WP_Fatal_Error_Handler::display_default_error_template( array $error, true|WP_Error $handled )
Displays the default PHP error template.
Description Description
This method is called conditionally if no ‘php-error.php’ drop-in is available.
It calls wp_die() with a message indicating that the site is experiencing technical difficulties and a login link to the admin backend. The ‘wp_php_error_message’ and ‘wp_php_error_args’ filters can be used to modify these parameters.
Parameters Parameters
- $error
-
(array) (Required) Error information retrieved from
error_get_last()
. - $handled
-
(true|WP_Error) (Required) Whether Recovery Mode handled the fatal error.
Source Source
File: wp-includes/class-wp-fatal-error-handler.php
protected function display_default_error_template( $error, $handled ) { if ( ! function_exists( '__' ) ) { wp_load_translations_early(); } if ( ! function_exists( 'wp_die' ) ) { require_once ABSPATH . WPINC . '/functions.php'; } if ( ! class_exists( 'WP_Error' ) ) { require_once ABSPATH . WPINC . '/class-wp-error.php'; } if ( true === $handled && wp_is_recovery_mode() ) { $message = __( 'There has been a critical error on your website, putting it in recovery mode. Please check the Themes and Plugins screens for more details. If you just installed or updated a theme or plugin, check the relevant page for that first.' ); } elseif ( is_protected_endpoint() ) { $message = __( 'There has been a critical error on your website. Please check your site admin email inbox for instructions.' ); } else { $message = __( 'There has been a critical error on your website.' ); } $message = sprintf( '<p>%s</p><p><a href="%s">%s</a></p>', $message, /* translators: Documentation explaining debugging in WordPress. */ esc_url( __( 'https://wordpress.org/support/article/debugging-in-wordpress/' ) ), __( 'Learn more about debugging in WordPress.' ) ); $args = array( 'response' => 500, 'exit' => false, ); /** * Filters the message that the default PHP error template displays. * * @since 5.2.0 * * @param string $message HTML error message to display. * @param array $error Error information retrieved from `error_get_last()`. */ $message = apply_filters( 'wp_php_error_message', $message, $error ); /** * Filters the arguments passed to {@see wp_die()} for the default PHP error template. * * @since 5.2.0 * * @param array $args Associative array of arguments passed to `wp_die()`. By default these contain a * 'response' key, and optionally 'link_url' and 'link_text' keys. * @param array $error Error information retrieved from `error_get_last()`. */ $args = apply_filters( 'wp_php_error_args', $args, $error ); $wp_error = new WP_Error( 'internal_server_error', $message, array( 'error' => $error, ) ); wp_die( $wp_error, '', $args ); }
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
5.3.0 | The $handled parameter was added. |
5.2.0 | Introduced. |