From 148a9e80393d5b96841801e5a39218e02399712b Mon Sep 17 00:00:00 2001 From: duck_ Date: Wed, 19 Oct 2011 21:06:50 +0000 Subject: [PATCH] Don't cache default value in get_site_option() for non-existent options. Fixes #18955. git-svn-id: http://svn.automattic.com/wordpress/trunk@19012 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/functions.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 32c0cbb8b..cf9c11ed9 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -3798,14 +3798,13 @@ function get_site_option( $option, $default = false, $use_cache = true ) { $row = $wpdb->get_row( $wpdb->prepare("SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) ); // Has to be get_row instead of get_var because of funkiness with 0, false, null values - if ( is_object( $row ) ) + if ( is_object( $row ) ) { $value = $row->meta_value; - else + $value = maybe_unserialize( $value ); + wp_cache_set( $cache_key, $value, 'site-options' ); + } else { $value = $default; - - $value = maybe_unserialize( $value ); - - wp_cache_set( $cache_key, $value, 'site-options' ); + } } }