Polylang 1.7.3

Polylang 1.7 has been released a bit more than 3 weeks ago. It was quickly followed by two maintenance releases to fix two annoying regressions. Then it was time to go back to a more usual stabilization process.

For a while now,  some users (it seems that all are hosted at GoDaddy) experience  a random fatal error:

Fatal error: PLL_Model::_languages_list(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition “PLL_Language” of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition

As a quick fix, I introduced the option PLL_CACHE_LANGUAGES  in Polylang 1.5.3. Of course, having to edit the wp-config.php file is far from ideal, but without more clue, I had nothing better to propose.

Fortunately, captin411 came recently on the support forum with an explanation for this issue as well as a proposed fix. To make a long story short, GoDaddy has a an object cache setup which does not allow WordPress plugins to store PHP objects in a transient, which is exactly what is done by Polylang.

So, starting from Polylang 1.7.3, the languages objects are transformed to arrays before being stored in the transient. Hopefully, this should definitely solve the issue.

Finally, I want to remind you that versions of Polylang older than 1.7 are not compatible with WordPress 4.2.

One thought on “Polylang 1.7.3

Comments are closed.