BLOG

Thesis Framework and memcached issue fixed

We recently experienced some issues with the Thesis Theme Framework while using memcached backend for WordPress object cache for one of our clients. The problem manifests this way: every time you save the Thesis options, you will end up with all options cleared. If you would flush the cache then all old options are back but you cannot save new options.

There was no fix we found in Google, just a reference to an unhappy Thesis theme user who also got a refund because of this issue. Also, as a side conclusion, looks like Thesis is not used by high-traffic sites (assuming these sites run memcached).

While debugging the issue we found out that the framework is saving its settings as an object. This is where the problem comes: if you are using an object cache, your options will be taken from cache and unserialized. Since Thesis options are saved as auto-loaded options, they will be loaded in one cache get operation but the class describing options is not defined at that time; this will result in the object being converted as __PHP_Incomplete_Class which will not allow access to the object properties and will render your options as defaults.

To fix the issue, simply tell WordPress not to auto-load Thesis options but rather load them on demand. You can easily do this by running this queries (proven that your WordPress tables are prefixed with wp_):

UPDATE wp_options SET autoload='no' WHERE option_name IN ('thesis_options','thesis_design_options')

Smart Managed WordPress Hosting

Presslabs provides high-performance hosting and business intelligence for the WordPress sites you care about.

Get Started