Reported error with azurecurve Theme Switcher

Reported error thrown with azurecurve Theme Switcher.

Solution is as follows:

Change the line function update($new_instance) to function update($new_instance, $old_instance)

Code: https://plugins.trac.wordpress.org/browser/azurecurve-theme-switcher/trunk/azurecurve-theme-switcher.php?marks=49-52#L33

This is caused by running this plugin under PHP >= 7.0, not by upgrading to ClassicPress. If you set up a WordPress site with the same PHP version, then you will see the same warning.

http://php.net/manual/en/migration70.incompatible.php#migration70.incompatible.error-handling.strict

All of the E_STRICT notices have been reclassified to other levels.
Signature mismatch during inheritance E_WARNING

The fix looks correct (update the plugin code to match the signature in the parent class), but it should be applied by the plugin author. It looks like the plugin author is the person who reported this issue. Also, interestingly, @Mte90 has contributed code to this plugin.

As developer when I use stuff and find bug I report and fix them but I don’t remember this one.
Anyway this is something that we cannot fix because the plugin is not aligned. Maybe report that to the plugin author is the best option.

I’ll get a fix made to the plugin on WordPress.org today (this all happened late last night).

The plugin is a fork of Theme Switcher which was written 9 years ago and not updated since (I wasn’t allowed to adopt the original). I updated where I found I had to, including code posted to the original plugins support pages, but only recently discovered that my web host is well out of date (arguing with them now) so missed the PHP 7 issue.

2 Likes