From 7213d24276e6bdf03d7dd8ea0b67445708c62f0d Mon Sep 17 00:00:00 2001 From: duck_ Date: Tue, 23 Aug 2011 20:45:48 +0000 Subject: [PATCH] Use get_site_option in add/update_site_option for caching and filtering benefits. fixes #18478 git-svn-id: http://svn.automattic.com/wordpress/trunk@18588 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/functions.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/wp-includes/functions.php b/wp-includes/functions.php index 9cbaa83309..d99153ed71 100644 --- a/wp-includes/functions.php +++ b/wp-includes/functions.php @@ -3799,14 +3799,14 @@ function add_site_option( $option, $value ) { } else { $cache_key = "{$wpdb->siteid}:$option"; - if ( $wpdb->get_row( $wpdb->prepare( "SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) ) ) + if ( false !== get_site_option( $option ) ) return false; $value = sanitize_option( $option, $value ); wp_cache_set( $cache_key, $value, 'site-options' ); $_value = $value; - $value = maybe_serialize($value); + $value = maybe_serialize( $value ); $result = $wpdb->insert( $wpdb->sitemeta, array('site_id' => $wpdb->siteid, 'meta_key' => $option, 'meta_value' => $value ) ); $value = $_value; } @@ -3886,14 +3886,14 @@ function update_site_option( $option, $value ) { if ( $value === $oldvalue ) return false; + if ( $value && false === $oldvalue ) + return add_site_option( $option, $value ); + if ( !is_multisite() ) { $result = update_option( $option, $value ); } else { - $cache_key = "{$wpdb->siteid}:$option"; - - if ( $value && !$wpdb->get_row( $wpdb->prepare( "SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) ) ) - return add_site_option( $option, $value ); $value = sanitize_option( $option, $value ); + $cache_key = "{$wpdb->siteid}:$option"; wp_cache_set( $cache_key, $value, 'site-options' ); $_value = $value;