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
753
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 = wp_cache_get( 'notoptions', 'site-options' );
761      if ( isset( $notoptions[$option] ) )
762           return apply_filters( 'default_site_option_' . $option, $default );
763
764      if ( ! is_multisite() ) {
765           $default = apply_filters( 'default_site_option_' . $option, $default );
766           $value = get_option($option, $default);
767      } else {
768           $cache_key = "{$wpdb->siteid}:$option";
769           if ( $use_cache )
770                $value = wp_cache_get($cache_key, 'site-options');
771
772           if ( !isset($value) || (false === $value) ) {
773                $row = $wpdb->get_row( $wpdb->prepare("SELECT meta_value FROM $wpdb->sitemeta WHERE meta_key = %s AND site_id = %d", $option, $wpdb->siteid ) );
774
775                // Has to be get_row instead of get_var because of funkiness with 0, false, null values
776                if ( is_object( $row ) ) {
777                     $value = $row->meta_value;
778                     $value = maybe_unserialize( $value );
779                     wp_cache_set( $cache_key, $value, 'site-options' );
780                } else {
781                     $notoptions[$option] = true;
782                     wp_cache_set( 'notoptions', $notoptions, 'site-options' );
783                     $value = apply_filters( 'default_site_option_' . $option, $default );
784                }
785           }
786      }
787
788       return apply_filters( 'site_option_' . $option, $value );
789 }
790
791 /**
792  * Add a new site option.