[wp-trac] [WordPress Trac] #18955: get_site_option caches default value when option does not exist
WordPress Trac
wp-trac at lists.automattic.com
Sat Oct 15 02:18:27 UTC 2011
#18955: get_site_option caches default value when option does not exist
--------------------------+-----------------------------
Reporter: wpmuguru | Owner:
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: Multisite | Version: 3.2.1
Severity: normal | Keywords:
--------------------------+-----------------------------
If get_site_option is passed any default value on a non-existent site
option then a subsequent call to update_site_option will not add the site
option. Because the site option does not exist, it does not get updated
either. To reproduce
- in the sitemeta table edit the active_sitewide_plugins meta_key to be
active_sitewide_plugins_x
- go to the network plugins screen and network activate any plugin
You get the message that the plugin was activated, but it doesn't because
the site option doesn't get saved.
Options for fixing
1- change the get_site_option in update_site_options to not use cache
2- add a notsiteoption cache and cache the non-existence of the site
option
3- don't cache the default value in get_site_option
Option 1 is quick & easy
Option 2 is more work but the way the blog options are handled and it
would make things more consistent
Option 3 is probably not the preferable solution
--
Ticket URL: <http://core.trac.wordpress.org/ticket/18955>
WordPress Trac <http://core.trac.wordpress.org/>
WordPress blogging software
More information about the wp-trac
mailing list