Options: Do not set network options to autoload in single site

When multisite is not configured, the `_site_transient()` and `_site_option()` functions fallback to `_option()` and store network "meta/options" in `wp_options`.

Previously, those calls to `_option()` did not explicitly set the `autoload` parameter and anything assigned as a transient or option at the network level would be set to `autoload` by default, even though autoload is not yet a concept at the network option level.

This changes that behavior and forces the `autoload` setting to `no`. If `autoload` is desired, the single site option functions should be used.

Props thomaswm.
Fixes #22846.


git-svn-id: https://develop.svn.wordpress.org/trunk@37223 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jeremy Felt
2016-04-16 19:47:14 +00:00
parent 83d80f7329
commit 426f5256fb
3 changed files with 52 additions and 2 deletions
+2 -2
View File
@@ -1223,7 +1223,7 @@ function add_network_option( $network_id, $option, $value ) {
$notoptions_key = "$network_id:notoptions";
if ( ! is_multisite() ) {
$result = add_option( $option, $value );
$result = add_option( $option, $value, '', 'no' );
} else {
$cache_key = "$network_id:$option";
@@ -1431,7 +1431,7 @@ function update_network_option( $network_id, $option, $value ) {
}
if ( ! is_multisite() ) {
$result = update_option( $option, $value );
$result = update_option( $option, $value, 'no' );
} else {
$value = sanitize_option( $option, $value );