Changeset 57029 for trunk/src/wp-includes/option.php
- Timestamp:
- 10/30/2023 10:56:25 PM (11 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/option.php
r57013 r57029 262 262 $alloptions = wp_load_alloptions(); 263 263 $cached_options = wp_cache_get_multiple( $options, 'options' ); 264 $notoptions = wp_cache_get( 'notoptions', 'options' ); 265 if ( ! is_array( $notoptions ) ) { 266 $notoptions = array(); 267 } 264 268 265 269 // Filter options that are not in the cache. 266 270 $options_to_prime = array(); 267 271 foreach ( $options as $option ) { 268 if ( ( ! isset( $cached_options[ $option ] ) || ! $cached_options[ $option ] ) && ! isset( $alloptions[ $option ] ) ) { 272 if ( 273 ( ! isset( $cached_options[ $option ] ) || false === $cached_options[ $option ] ) 274 && ! isset( $alloptions[ $option ] ) 275 && ! isset( $notoptions[ $option ] ) 276 ) { 269 277 $options_to_prime[] = $option; 270 278 } … … 289 297 $options_found = array(); 290 298 foreach ( $results as $result ) { 291 $options_found[ $result->option_name ] = maybe_unserialize( $result->option_value ); 299 /* 300 * The cache is primed with the raw value (i.e. not maybe_unserialized). 301 * 302 * `get_option()` will handle unserializing the value as needed. 303 */ 304 $options_found[ $result->option_name ] = $result->option_value; 292 305 } 293 306 wp_cache_set_multiple( $options_found, 'options' ); … … 299 312 300 313 $options_not_found = array_diff( $options_to_prime, array_keys( $options_found ) ); 301 302 $notoptions = wp_cache_get( 'notoptions', 'options' );303 304 if ( ! is_array( $notoptions ) ) {305 $notoptions = array();306 }307 314 308 315 // Add the options that were not found to the cache.
Note: See TracChangeset
for help on using the changeset viewer.