WP hooks navigation: Home/browse • Actions index • Filters index
To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).
The best way to understand what a hook does is to look at where it occurs in the source code.
do_action( "hook_name" )apply_filters( "hook_name", "what_to_filter" ).Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.
| 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; |