Earlier today I updated our test site, in preparation for rolling updates out to the main site. This involved updating several plugins and replacing the “BeforeTheDeadline” plugin with Jetpack. After completing the updates I found I was getting several error messages on the dashboard, under the “incoming links” dashboard widget, and even more errors when I tried to empty the W3 Total Cache caches.
Deprecated: Assigning the return value of new by reference is deprecated in …/wp-includes/class-simplepie.php
I was able to clear the errors by deactivating all plugins, and re-enabling 1 at a time to lead me to the culprit — an update to the “WP Auto Affiliate Links” plugin we use to insert links to amazon for some products. A bit more research and a comparison of the code between the old plugin and new version led me to a fix fairly swiftly — the plugin contains some code near the top which turns on PHP errors.
[php]error_reporting(E_ALL & ~E_NOTICE);[/php]
Removing this line (or commenting it) completely resolved the problem.
As a further note — these warnings from PHP are normal for anyone running wordpress on an up-to-date PHP5 because wordpress includes lots of legacy code which uses functions which are now deprecated. The reason they aren’t normally shown is because non fatal errors are usually suppressed. It’s high time wordpress updated this legacy code, but that is a discussion for another time. In the meantime — if you start to get these errors after a plugin update you need to check the plugin code and edit out any lines that include the error_reporting() function call.
In the process of resolving this issue I also discovered something else quite useful. When I wanted to obtain the previous version of the auto affiliate links plugin I discovered that these are all archived on the wordpress.org downloads page. The current version (at time of writing) is 2.3.2 which can be downloaded from http://downloads.wordpress.org/plugin/wp-auto-affiliate-links.2.3.2.zip. My previous version was 2.2.2 — so I guessed the download link would be http://downloads.wordpress.org/plugin/wp-auto-affiliate-links.2.2.2.zip if old versions were retained. Hey presto — using that address worked perfectly, kudos to wordpress for keeping old versions.
Got some thoughts of your own? Indulge yourself below by commenting! If you would like to subscribe please use the subscribe link on the menu at the top right. You can also share this with your friends by using the social links below. Cheers.