Bootstrap/Load: Introduce fatal error handler.
This changeset introduces a WP_Fatal_Error_Handler
class that detects fatal errors and displays a more user-friendly message about the site experiencing technical difficulties.
Websites that have custom requirements in that regard can implement their own fatal error handler by adding a fatal-error-handler.php
drop-in that returns the handler instance to use, which must be based on a class that inherits WP_Fatal_Error_Handler
. That handler will then be used in place of the default one. Alternatively, the fatal error handler feature can be completely disable through a constant WP_DISABLE_FATAL_ERROR_HANDLER
.
Websites that would like to modify specifically the error template displayed in the frontend can add a php-error.php
drop-in that works similarly to the existing db-error.php
drop-in. For more granular customization, the fatal error handler also includes new filters wp_should_handle_php_error
, wp_php_error_message
and wp_php_error_args
.
Props afragen, bradleyt, flixos90, ocean90, schlessera, SergeyBiryukov, spacedmonkey, timothyblynjacobs.
See #46130, #44458.