Ticket #41197: 41197.diff
File 41197.diff, 2.1 KB (added by , 8 years ago) |
---|
-
src/wp-includes/class-wp-site-query.php
250 250 */ 251 251 do_action_ref_array( 'pre_get_sites', array( &$this ) ); 252 252 253 $_args = wp_array_slice_assoc( $this->query_vars, array_keys( $this->query_var_defaults ) ); 254 if ( ! $_args['count'] ) { 255 unset( $_args['fields'] ); 256 } 257 253 258 // $args can include anything. Only use the args defined in the query_var_defaults to compute the key. 254 $key = md5( serialize( wp_array_slice_assoc( $this->query_vars, array_keys( $this->query_var_defaults ) )) );259 $key = md5( serialize( $_args ) ); 255 260 $last_changed = wp_cache_get_last_changed( 'sites' ); 256 261 257 262 $cache_key = "get_sites:$key:$last_changed"; -
tests/phpunit/tests/multisite/siteQuery.php
163 163 $this->assertEqualSets( $expected, $found ); 164 164 } 165 165 166 public function test_wp_site_query_cache() { 167 global $wpdb; 168 $q = new WP_Site_Query(); 169 $query_1 = $q->query( array( 170 'fields' => 'all', 171 'network_id' => self::$network_ids['wordpress.org/'], 172 'number' => 3, 173 'order' => 'ASC', 174 ) ); 175 $number_of_queries = $wpdb->num_queries; 176 177 $query_2 = $q->query( array( 178 'fields' => 'ids', 179 'network_id' => self::$network_ids['wordpress.org/'], 180 'number' => 3, 181 'order' => 'ASC', 182 ) ); 183 184 $this->assertEquals( $number_of_queries, $wpdb->num_queries ); 185 186 $query_3 = $q->query( array( 187 'fields' => 'ids', 188 'network_id' => self::$network_ids['wordpress.org/'], 189 'number' => 3, 190 'order' => 'ASC', 191 'count' => true, 192 ) ); 193 $this->assertEquals( $number_of_queries + 1, $wpdb->num_queries ); 194 } 195 166 196 public function test_wp_site_query_by_network_id_with_order() { 167 197 $q = new WP_Site_Query(); 168 198 $found = $q->query( array(