From bde0e2ff3160e977925a9ccb64fcd435b349fd10 Mon Sep 17 00:00:00 2001 From: Andrew Nacin Date: Sat, 13 Aug 2011 18:59:05 +0000 Subject: [PATCH] Force display_errors to off when WP_DEBUG_DISPLAY == false. Technically a backwards incompatible change - if you want the passthrough to php.ini (which false used to provide) then use WP_DEBUG_DISPLAY === null. see #18391. git-svn-id: https://develop.svn.wordpress.org/trunk@18545 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/default-constants.php | 3 ++- wp-includes/load.php | 8 +++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/wp-includes/default-constants.php b/wp-includes/default-constants.php index 0ba447fda6..b11c6ab040 100644 --- a/wp-includes/default-constants.php +++ b/wp-includes/default-constants.php @@ -49,7 +49,8 @@ function wp_initial_constants( ) { if ( !defined('WP_DEBUG') ) define( 'WP_DEBUG', false ); - // Add define('WP_DEBUG_DISPLAY', false); to wp-config.php use the globally configured setting for display_errors and not force errors to be displayed. + // Add define('WP_DEBUG_DISPLAY', null); to wp-config.php use the globally configured setting for + // display_errors and not force errors to be displayed. Use false to force display_errors off. if ( !defined('WP_DEBUG_DISPLAY') ) define( 'WP_DEBUG_DISPLAY', true ); diff --git a/wp-includes/load.php b/wp-includes/load.php index 3740258333..056f85b826 100644 --- a/wp-includes/load.php +++ b/wp-includes/load.php @@ -249,9 +249,9 @@ function timer_stop( $display = 0, $precision = 3 ) { // if called like timer_st * development environments. * * When WP_DEBUG_DISPLAY is true, WordPress will force errors to be displayed. - * WP_DEBUG_DISPLAY defaults to true. Defining it as false prevents WordPress from - * changing the global configuration setting. (Defining WP_DEBUG_DISPLAY as false - * will never force errors to be hidden.) + * WP_DEBUG_DISPLAY defaults to true. Defining it as null prevents WordPress from + * changing the global configuration setting. Defining WP_DEBUG_DISPLAY as false + * will force errors to be hidden. * * When WP_DEBUG_LOG is true, errors will be logged to wp-content/debug.log. * WP_DEBUG_LOG defaults to false. @@ -270,6 +270,8 @@ function wp_debug_mode() { if ( WP_DEBUG_DISPLAY ) ini_set( 'display_errors', 1 ); + elseif ( null !== WP_DEBUG_DISPLAY ) + ini_set( 'display_errors', 0 ); if ( WP_DEBUG_LOG ) { ini_set( 'log_errors', 1 );