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

  • 1
    in which file appears the first notice ? – mmm Sep 16 '16 at 10:31
  • May you display the depreciated notice you are getting? This will help me give you a better answer – Ethan O'Sullivan Sep 16 '16 at 14:04
  • See above added to original post – Chris Pink Sep 18 '16 at 9:55
  • @ChrisPink From my experience when working with an older WordPress install, I would put the code I provided in my answer to both the ot-loader.php and dropdown-menus.php file. – Ethan O'Sullivan Sep 18 '16 at 14:37

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.

  • Interesting (ie showing the shallowness of my understanding, inserting error_reporting(0); (or any other variation) in the first of the files mentioned in the long list of error messages suppresses all messages from subsequent different files but not the deprecated notice in that file – Chris Pink Sep 18 '16 at 10:04
  • @ChrisPink I don't entirely understand your last comment, may you please clarify? – Ethan O'Sullivan Sep 18 '16 at 14:33
  • Sorry, I didn't explain very well. Inserting error_reporting(0) into the file ot-loader.php (as per message in the OP) suppressed all subsequent notices but not the one originating from ot-loader.php (the one in the OP). So I am guessing I need to insert the error_reporting() function into the file that calls ot-loader.php. – Chris Pink Sep 20 '16 at 7:35
  • @ChrisPink Yes, insert that code in ot-loader.php. – Ethan O'Sullivan Sep 20 '16 at 17:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.