WordPress.org

Make WordPress Core

Ticket #18478: 18478.diff

File 18478.diff, 1.8 KB (added by duck_, 4 years ago)
  • wp-includes/functions.php

     
    37983798        } else { 
    37993799                $cache_key = "{$wpdb->siteid}:$option"; 
    38003800 
    3801                 if ( $wpdb->get_row( $wpdb->prepare( "SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) ) ) 
     3801                if ( false !== get_site_option( $option ) ) 
    38023802                        return update_site_option( $option, $value ); 
    38033803 
    38043804                $value = sanitize_option( $option, $value ); 
    38053805                wp_cache_set( $cache_key, $value, 'site-options' ); 
    38063806 
    38073807                $_value = $value; 
    3808                 $value = maybe_serialize($value); 
     3808                $value = maybe_serialize( $value ); 
    38093809                $result = $wpdb->insert( $wpdb->sitemeta, array('site_id' => $wpdb->siteid, 'meta_key' => $option, 'meta_value' => $value ) ); 
    38103810                $value = $_value; 
    38113811        } 
    38123812 
    3813         do_action( "add_site_option_{$option}", $option, $value ); 
    3814         do_action( "add_site_option", $option, $value ); 
    3815  
    3816         return $result; 
     3813        if ( $result ) { 
     3814                do_action( "add_site_option_{$option}", $option, $value ); 
     3815                do_action( "add_site_option", $option, $value ); 
     3816                return true; 
     3817        } 
     3818        return false; 
    38173819} 
    38183820 
    38193821/** 
     
    38833885        if ( $value === $oldvalue ) 
    38843886                return false; 
    38853887 
     3888        if ( $value && false === $oldvalue ) 
     3889                return add_site_option( $option, $value ); 
     3890 
    38863891        if ( !is_multisite() ) { 
    38873892                $result = update_option( $option, $value ); 
    38883893        } else { 
     3894                $value = sanitize_option( $option, $value ); 
    38893895                $cache_key = "{$wpdb->siteid}:$option"; 
    3890  
    3891                 if ( $value && !$wpdb->get_row( $wpdb->prepare( "SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) ) ) 
    3892                         return add_site_option( $option, $value ); 
    3893                 $value = sanitize_option( $option, $value ); 
    38943896                wp_cache_set( $cache_key, $value, 'site-options' ); 
    38953897 
    38963898                $_value = $value;