diff --git a/src/wp-includes/option.php b/src/wp-includes/option.php index 842981dd48..a6f20913d0 100644 --- a/src/wp-includes/option.php +++ b/src/wp-includes/option.php @@ -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 ); diff --git a/tests/phpunit/tests/option/networkOption.php b/tests/phpunit/tests/option/networkOption.php index 4ac33b820d..612949f208 100644 --- a/tests/phpunit/tests/option/networkOption.php +++ b/tests/phpunit/tests/option/networkOption.php @@ -52,6 +52,40 @@ class Tests_Option_NetworkOption extends WP_UnitTestCase { $this->assertEquals( $value, get_network_option( $id, $option, false ) ); } + /** + * @ticket 22846 + */ + public function test_add_network_option_is_not_stored_as_autoload_option() { + $key = rand_str(); + + if ( is_multisite() ) { + $this->markTestSkipped( 'Does not apply when used in multisite.' ); + } + + add_network_option( null, $key, 'Not an autoload option' ); + + $options = wp_load_alloptions(); + + $this->assertFalse( isset( $options[ $key ] ) ); + } + + /** + * @ticket 22846 + */ + public function test_update_network_option_is_not_stored_as_autoload_option() { + $key = rand_str(); + + if ( is_multisite() ) { + $this->markTestSkipped( 'Does not apply when used in multisite.' ); + } + + update_network_option( null, $key, 'Not an autoload option' ); + + $options = wp_load_alloptions(); + + $this->assertFalse( isset( $options[ $key ] ) ); + } + /** * @dataProvider data_network_id_parameter * diff --git a/tests/phpunit/tests/option/siteTransient.php b/tests/phpunit/tests/option/siteTransient.php index ef7acc34f0..62cf77512a 100644 --- a/tests/phpunit/tests/option/siteTransient.php +++ b/tests/phpunit/tests/option/siteTransient.php @@ -41,4 +41,20 @@ class Tests_Option_SiteTransient extends WP_UnitTestCase { $this->assertEquals( $value, get_site_transient( $key ) ); $this->assertTrue( delete_site_transient( $key ) ); } + + /** + * @ticket 22846 + */ + public function test_set_site_transient_is_not_stored_as_autoload_option() { + $key = rand_str(); + + if ( is_multisite() ) { + $this->markTestSkipped( 'Does not apply when used in multisite.' ); + } + set_site_transient( $key, 'Not an autoload option' ); + + $options = wp_load_alloptions(); + + $this->assertFalse( isset( $options[ '_site_transient_' . $key ] ) ); + } }