Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: default_site_option_{$option}

To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).

Understanding Source Code

The best way to understand what a hook does is to look at where it occurs in the source code.

Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.

Source View

This hook occurs 3 times in this file.

Line Code
754      // Allow plugins to short-circuit site options.
755       $pre = apply_filters( 'pre_site_option_' . $option, false );
756       if ( false !== $pre )
757            return $pre;
758
759      // prevent non-existent options from triggering multiple queries
760      $notoptions_key = "{$wpdb->siteid}:notoptions";
761      $notoptions = wp_cache_get( $notoptions_key, 'site-options' );
762      if ( isset( $notoptions[$option] ) )
763           return apply_filters( 'default_site_option_' . $option, $default );
764
765      if ( ! is_multisite() ) {
766           $default = apply_filters( 'default_site_option_' . $option, $default );
767           $value = get_option($option, $default);
768      } else {
769           $cache_key = "{$wpdb->siteid}:$option";
770           if ( $use_cache )
771                $value = wp_cache_get($cache_key, 'site-options');
772
773           if ( !isset($value) || (false === $value) ) {
774                $row = $wpdb->get_row( $wpdb->prepare("SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) );
775
776                // Has to be get_row instead of get_var because of funkiness with 0, false, null values
777                if ( is_object( $row ) ) {
778                     $value = $row->meta_value;
779                     $value = maybe_unserialize( $value );
780                     wp_cache_set( $cache_key, $value, 'site-options' );
781                } else {
782                     $notoptions[$option] = true;
783                     wp_cache_set( $notoptions_key, $notoptions, 'site-options' );
784                     $value = apply_filters( 'default_site_option_' . $option, $default );
785                }
786           }
787      }
788
789       return apply_filters( 'site_option_' . $option, $value );
790 }
791
792 /**
793  * Add a new site option.