Changeset 44983 for trunk/src/wp-includes/class-wp-site-query.php
- Timestamp:
- 03/22/2019 05:25:38 PM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class-wp-site-query.php
r44467 r44983 289 289 } 290 290 291 // $args can include anything. Only use the args defined in the query_var_defaults to compute the key. 292 $_args = wp_array_slice_assoc( $this->query_vars, array_keys( $this->query_var_defaults ) ); 293 294 // Ignore the $fields argument as the queried result will be the same regardless. 295 unset( $_args['fields'] ); 296 297 $key = md5( serialize( $_args ) ); 298 $last_changed = wp_cache_get_last_changed( 'sites' ); 299 300 $cache_key = "get_sites:$key:$last_changed"; 301 $cache_value = wp_cache_get( $cache_key, 'sites' ); 302 303 if ( false === $cache_value ) { 304 $site_ids = $this->get_site_ids(); 305 if ( $site_ids ) { 306 $this->set_found_sites(); 291 $site_ids = null; 292 293 /** 294 * Filter the sites array before the query takes place. 295 * 296 * Return a non-null value to bypass WordPress's default site queries. 297 * 298 * 299 * @since 5.2.0 300 * 301 * @param array|null $site_ids Return an array of site data to short-circuit WP's site query, 302 * or null to allow WP to run its normal queries. 303 * @param WP_Site_Query $this The WP_Site_Query instance, passed by reference. 304 */ 305 $site_ids = apply_filters_ref_array( 'sites_pre_query', array( $site_ids, &$this ) ); 306 307 if ( null === $site_ids ) { 308 309 // $args can include anything. Only use the args defined in the query_var_defaults to compute the key. 310 $_args = wp_array_slice_assoc( $this->query_vars, array_keys( $this->query_var_defaults ) ); 311 312 // Ignore the $fields argument as the queried result will be the same regardless. 313 unset( $_args['fields'] ); 314 315 $key = md5( serialize( $_args ) ); 316 $last_changed = wp_cache_get_last_changed( 'sites' ); 317 318 $cache_key = "get_sites:$key:$last_changed"; 319 $cache_value = wp_cache_get( $cache_key, 'sites' ); 320 321 if ( false === $cache_value ) { 322 $site_ids = $this->get_site_ids(); 323 if ( $site_ids ) { 324 $this->set_found_sites(); 325 } 326 327 $cache_value = array( 328 'site_ids' => $site_ids, 329 'found_sites' => $this->found_sites, 330 ); 331 wp_cache_add( $cache_key, $cache_value, 'sites' ); 332 } else { 333 $site_ids = $cache_value['site_ids']; 334 $this->found_sites = $cache_value['found_sites']; 307 335 } 308 309 $cache_value = array(310 'site_ids' => $site_ids,311 'found_sites' => $this->found_sites,312 );313 wp_cache_add( $cache_key, $cache_value, 'sites' );314 } else {315 $site_ids = $cache_value['site_ids'];316 $this->found_sites = $cache_value['found_sites'];317 336 } 318 337
Note: See TracChangeset
for help on using the changeset viewer.