Podemos modificar la salida bool de la wp_is_fatal_error_handler_enabled()
función de dos maneras:
Constante
Establezca la WP_DISABLE_FATAL_ERROR_HANDLER
constante true
dentro del wp-config.php
archivo:
/**
* Disable the fatal error handler.
*/
const WP_DISABLE_FATAL_ERROR_HANDLER = true;
o
define( 'WP_DISABLE_FATAL_ERROR_HANDLER', true );
Filtrar
Usar wp_fatal_error_handler_enabled
filtro de bool:
/**
* Disable the fatal error handler.
*/
add_filter( 'wp_fatal_error_handler_enabled', '__return_false' );
Notas
Ver boleto # 44458
El wp_fatal_error_handler_enabled
filtro anulará el valor de la WP_DISABLE_FATAL_ERROR_HANDLER
constante.
También tenga cuidado con una posible confusión de bool con la desactivación constante pero la habilitación del filtro .
En mis pruebas, el enfoque de filtro, como complemento obligatorio , no funciona como se esperaba, por lo que estoy usando la constante. Espero poder investigar esto más a fondo.
También se puede añadir una costumbre drop-in de archivos fatal-error-handler.php
en el wp-content
directorio ( src ), para anular la WP_Fatal_Error_Handler
clase según sea necesario. Debemos usar un nombre de clase diferente y debe definir el handle()
método como la función de apagado registrada .
Un ejemplo simple para deshabilitarlo sería anular la clase predeterminada del controlador de errores con una personalizada que no haga nada:
<?php
class WPSE_Fatal_Error_Handler {
public function handle() {}
}
return new WPSE_Fatal_Error_Handler;
La clase anónima en PHP 7+ parece funcionar también:
<?php
return new Class(){
public function handle() {}
};
También podría extender la WP_Fatal_Error_Handler
clase predeterminada si es necesario.
Luego está la WP_SANDBOX_SCRAPING
constante. Ver # 46045
Establecer WP_DEBUG
como verdadero no deshabilitará la protección de WSOD. Esto es por diseño. Ver # 46825