Suppress deprecated notices

When I use:

define('WP_DEBUG', 1);

In my wp-config.php, it works fine, but I am hacking an old theme and I would like to suppress deprecated notices.

My understanding is that adding this:

error_reporting( E_ERROR | E_NOTICE | E_PARSE )

Should do the trick. I have added it to wp-config.php and to header.php in my theme. Unfortunately, it has no effect. Is this something set at server level? Also the following makes no difference as well:

ini_set('display_errors', 1);

As asked in the comments below here's a couple of the notices. I am using a hacked version of the Construct 2 theme, quite old now but it would not be safe to update it. I am trying to persuade the client to let me rewrite it, the site is fairly simple, but as he can't see anything wrong, it's not broken, he won't spend the money.

Deprecated: Assigning the return value of new by reference is deprecated in /Volumes/Macintosh HD/Sites/MAMP (custodian)/wordpress/wp-content/themes/construct2/option-tree/ot-loader.php on line 369

Strict Standards: Declaration of DropDown_Nav_Menu::start_lvl() should be compatible with Walker_Nav_Menu::start_lvl($output, $depth = 0, $args = Array) in /Volumes/Macintosh HD/Sites/MAMP (custodian)/wordpress/wp-content/themes/construct2/dropdown-menus.php on line 192

Topic wp-debug debug errors Wordpress

Category Web


I was able to suppress notices in the log and displayed errors by using the error_reporting function in a must-use plugin, which is loaded early enough to catch most of the WP core code warnings. This is helpful for the warnings coming from core/plugin files that you shouldn't modify.

I created a php file in the /wp-content/mu-plugins/ folder with this code:

<?php 
error_reporting(E_ALL & ~E_WARNING & ~E_DEPRECATED & ~E_USER_DEPRECATED & ~E_NOTICE);
?>

As mmm stated:

in which file appears the first notice?

Wherever the notice is mentioning the location of this deprecated function (path/to/some/file.php), you would insert the following just below the <?php tag which starts off the file:

error_reporting(0);

I've tried the above functions you mentioned and inserted them in my wp-config.php when I experience something similar, but they didn't work for me. This will turn off warning, deprecated, and everything else except the errors.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.