Logo settings cache not properly invalidated
-
I manage a large WordPress Multisite installation and have recently received several reports of logo problems.
In some cases, changes to the logo (Customizer -> Header > Logo) aren’t immediately visible on the front end. In others, removing the logo doesn’t reflect on the front end – even if the image is deleted from the Media Library, the theme still tries to render the (broken) image in the header.
We run a persistent Memcached object cache, and I was able to detect that flushing this cache fixed the problems. With this info, I traced the problem to your logo cache in
czr_fn_get_logo_atts()
. The data being fetched from the persistent cache viawp_cache_get()
is, in some instances, stale. I haven’t spent enough time to figure out how you intend to invalidate caches throughout the theme – I see a handful of calls towp_cache_set()
, but *none* towp_cache_delete()
– but a relatively straightforward fix is to invalidate anytime you save any theme setting, and allow the cache to be repopulated from the database.For the time being, I’ve manually modded the theme to bypass your call to
wp_cache_get()
inczr_fn_get_logo_atts()
.Thanks in advance for your attention to this issue.
- The topic ‘Logo settings cache not properly invalidated’ is closed to new replies.