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

Solutions Collecting From Web of "Suppress deprecated notices"

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:


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.