Note: for WP_DEBUG_LOG to do anything, WP_DEBUG must be enabled (true). define( 'WP_DEBUG_LOG', true ) ĭefine( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' ) Alternatively, you can set it to a valid file path to have the file saved elsewhere. When set to true, the log is saved to debug.log in the content directory (usually wp-content/debug.log) within your site’s filesystem. Note that this allows you to write to log file using PHP’s built in error_log() function, which can be useful for instance when debugging Ajax events. WP_DEBUG_LOG is a companion to WP_DEBUG that causes all errors to also be saved to a debug.log log file This is useful if you want to review all notices later or need to view notices generated off-screen (e.g. Deprecation notices often indicate the new function that should be used instead.
These are functions or function arguments that have not been removed from the core code yet but are slated for deletion in the near future. These warnings are easy to fix once the relevant code has been identified, and the resulting code is almost always more bug-resistant and easier to maintain.Įnabling WP_DEBUG will also cause notices about deprecated functions and arguments within WordPress that are being used on your site. Showing all PHP notices and warnings often results in error messages for things that don’t seem broken, but do not follow proper data validation conventions inside PHP. This is likely to modify the default behavior of PHP which only displays fatal errors and/or shows a white screen of death when errors are reached. It is not recommended to use WP_DEBUG or the other debug tools on live sites they are meant for local testing and staging installs.Įnabling WP_DEBUG will cause all PHP errors, notices and warnings to be displayed. If you set constants to 'false', they will be interpreted as true because the quotes make it a string rather than a boolean. Note: The true and false values in the example are not surrounded by apostrophes (‘) because they are boolean (true/false) values. This enables debugging.ĭefine( 'WP_DEBUG', true ) // This disables debugging. It is assumed to be false by default and is usually set to true in the wp-config.php file on development copies of WordPress. WP_DEBUG is a PHP constant (a permanent global variable) that can be used to trigger the “debug” mode throughout WordPress. NOTE: You must insert this BEFORE /* That's all, stop editing! Happy blogging. Use dev versions of core JS and CSS files (only needed if you are modifying these core files) Disable display of errors and warningsĭefine( 'WP_DEBUG_DISPLAY', false 'display_errors', 0 ) Enable Debug logging to the /wp-content/debug.log file It will also hide the errors so they do not interrupt page generation. The following code, inserted in your wp-config.php file, will log all errors, notices, and warnings to a file called debug.log in the wp-content directory.
This page describes the various debugging tools in WordPress and how to be more productive in your coding as well as increasing the overall quality and interoperativity of your code.įor non-programmers or general users, these options can be used to show detailed information about errors. Debugging PHP code is part of any project, but WordPress comes with specific debug systems designed to simplify the process as well as standardize code across the core, plugins and themes.