Set PHP error reporting based on WordPress debug settings.

Uses three constants: `WP_DEBUG`, `WP_DEBUG_DISPLAY`, and `WP_DEBUG_LOG`. All three can be defined in wp-config.php, and by default are set to false.

When `WP_DEBUG` is true, all PHP notices are reported. WordPress will also display internal notices: when a deprecated WordPress function, function argument, or file is used. Deprecated code may be removed from a later version.

It is strongly recommended that plugin and theme developers use `WP_DEBUG` in their development environments.

`WP_DEBUG_DISPLAY` and `WP_DEBUG_LOG` perform no function unless `WP_DEBUG` is true.

When `WP_DEBUG_DISPLAY` is true, WordPress will force errors to be displayed. `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 debug.log in the content directory.

Errors are never displayed for XML-RPC requests.

Signature

wp_debug_mode()

Return

(void)

Source

function wp_debug_mode() {
	if ( WP_DEBUG ) {
		error_reporting( E_ALL );

		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 );
			ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
		}
	} else {
		error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );
	}
	if ( defined( 'XMLRPC_REQUEST' ) )
		ini_set( 'display_errors', 0 );
}
WP Trac GitHub

Link here