Changeset 14515
- Timestamp:
- 05/08/2010 06:05:16 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/functions.php
r14510 r14515 311 311 return false; 312 312 313 // prevent non-existent options from triggering multiple queries 314 if ( defined( 'WP_INSTALLING' ) && is_multisite() ) { 315 $notoptions = array(); 316 } else { 313 if ( ! defined( 'WP_INSTALLING' ) ) { 314 // prevent non-existent options from triggering multiple queries 317 315 $notoptions = wp_cache_get( 'notoptions', 'options' ); 318 316 if ( isset( $notoptions[$option] ) ) 319 317 return $default; 320 } 321 322 if ( ! defined( 'WP_INSTALLING' ) ) { 318 323 319 $alloptions = wp_load_alloptions(); 324 } 325 326 if ( isset( $alloptions[$option] ) ) { 327 $value = $alloptions[$option]; 328 } else { 329 $value = wp_cache_get( $option, 'options' ); 330 331 if ( false === $value ) { 332 if ( defined( 'WP_INSTALLING' ) ) 333 $suppress = $wpdb->suppress_errors(); 334 $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); 335 if ( defined( 'WP_INSTALLING' ) ) 336 $wpdb->suppress_errors( $suppress ); 337 338 // Has to be get_row instead of get_var because of funkiness with 0, false, null values 339 if ( is_object( $row ) ) { 340 $value = $row->option_value; 341 if ( ! defined( 'WP_INSTALLING' ) ) 320 321 if ( isset( $alloptions[$option] ) ) { 322 $value = $alloptions[$option]; 323 } else { 324 $value = wp_cache_get( $option, 'options' ); 325 326 if ( false === $value ) { 327 $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); 328 329 // Has to be get_row instead of get_var because of funkiness with 0, false, null values 330 if ( is_object( $row ) ) { 331 $value = $row->option_value; 342 332 wp_cache_add( $option, $value, 'options' ); 343 } else { // option does not exist, so we must cache its non-existence 344 $notoptions[$option] = true; 345 wp_cache_set( 'notoptions', $notoptions, 'options' ); 346 return $default; 333 } else { // option does not exist, so we must cache its non-existence 334 $notoptions[$option] = true; 335 wp_cache_set( 'notoptions', $notoptions, 'options' ); 336 return $default; 337 } 347 338 } 348 339 } 340 } else { 341 $suppress = $wpdb->suppress_errors(); 342 $row = $wpdb->get_row( $wpdb->prepare( "SELECT option_value FROM $wpdb->options WHERE option_name = %s LIMIT 1", $option ) ); 343 $wpdb->suppress_errors( $suppress ); 344 if ( is_object( $row ) ) 345 $value = $row->option_value; 346 else 347 return $default; 349 348 } 350 349
Note: See TracChangeset
for help on using the changeset viewer.