WordPress.org

Make WordPress Core

Ticket #18478: 18478.diff

File 18478.diff, 1.8 KB (added by duck_, 7 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;