Menu Adam R Brown

WP hooks navigation: Home/browseActions indexFilters index

Source View: add_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

Line Code
306
307      // Make sure the option doesn't already exist. We can check the 'notoptions' cache before we ask for a db query
308      $notoptions = wp_cache_get( 'notoptions', 'options' );
309      if ( !is_array( $notoptions ) || !isset( $notoptions[$option] ) )
310           if ( false !== get_option( $option ) )
311                return false;
312
313      $serialized_value = maybe_serialize( $value );
314      $autoload = ( 'no' === $autoload ) ? 'no' : 'yes';
315      do_action( 'add_option', $option, $value );
316
317      $result = $wpdb->query( $wpdb->prepare( "INSERT INTO `$wpdb->options` (`option_name`, `option_value`, `autoload`) VALUES (%s, %s, %s) ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)", $option, $serialized_value, $autoload ) );
318      if ( ! $result )
319           return false;
320
321      if ( ! defined( 'WP_INSTALLING' ) ) {
322           if ( 'yes' == $autoload ) {
323                $alloptions = wp_load_alloptions();
324                $alloptions[ $option ] = $serialized_value;