Changeset 38784
- Timestamp:
- 10/12/2016 03:29:03 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/class-wp-term-query.php
r38768 r38784 691 691 692 692 if ( 'count' == $_fields ) { 693 return $wpdb->get_var( $this->request ); 693 $count = $wpdb->get_var( $this->request ); 694 wp_cache_set( $cache_key, $count, 'terms' ); 695 return $count; 694 696 } 695 697 -
trunk/tests/phpunit/tests/term/query.php
r38667 r38784 323 323 $this->assertEqualSets( array( $terms[1] ), $found ); 324 324 } 325 326 /** 327 * @ticket 38295 328 * @group cache 329 */ 330 public function test_count_query_should_be_cached() { 331 global $wpdb; 332 333 register_taxonomy( 'wptests_tax_1', 'post' ); 334 335 $terms = self::factory()->term->create_many( 2, array( 'taxonomy' => 'wptests_tax_1' ) ); 336 337 $query = new WP_Term_Query( array( 338 'taxonomy' => 'wptests_tax_1', 339 'fields' => 'count', 340 'hide_empty' => false, 341 ) ); 342 $count = $query->get_terms(); 343 $this->assertEquals( 2, $count ); 344 345 $num_queries = $wpdb->num_queries; 346 347 $query = new WP_Term_Query( array( 348 'taxonomy' => 'wptests_tax_1', 349 'fields' => 'count', 350 'hide_empty' => false, 351 ) ); 352 $count = $query->get_terms(); 353 $this->assertEquals( 2, $count ); 354 $this->assertSame( $num_queries, $wpdb->num_queries ); 355 } 356 357 /** 358 * @ticket 38295 359 * @group cache 360 */ 361 public function test_count_query_cache_should_be_invalidated_with_incrementor_bump() { 362 register_taxonomy( 'wptests_tax_1', 'post' ); 363 364 $terms = self::factory()->term->create_many( 2, array( 'taxonomy' => 'wptests_tax_1' ) ); 365 366 $query = new WP_Term_Query( array( 367 'taxonomy' => 'wptests_tax_1', 368 'fields' => 'count', 369 'hide_empty' => false, 370 ) ); 371 $count = $query->get_terms(); 372 $this->assertEquals( 2, $count ); 373 374 wp_delete_term( $terms[0], 'wptests_tax_1' ); 375 376 $query = new WP_Term_Query( array( 377 'taxonomy' => 'wptests_tax_1', 378 'fields' => 'count', 379 'hide_empty' => false, 380 ) ); 381 $count = $query->get_terms(); 382 $this->assertEquals( 1, $count ); 383 } 325 384 }
Note: See TracChangeset
for help on using the changeset viewer.