- Timestamp:
- 01/22/2014 10:30:36 PM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/query.php
r26932 r27016 176 176 * @uses $wp_query 177 177 * 178 * @param mixed $attachment Attachment ID, title, slug, or array of such. 178 179 * @return bool 179 180 */ 180 function is_attachment( ) {181 function is_attachment( $attachment = '' ) { 181 182 global $wp_query; 182 183 … … 186 187 } 187 188 188 return $wp_query->is_attachment( );189 return $wp_query->is_attachment( $attachment ); 189 190 } 190 191 … … 3388 3389 * @since 3.1.0 3389 3390 * 3391 * @param mixed $attachment Attachment ID, title, slug, or array of such. 3390 3392 * @return bool 3391 3393 */ 3392 function is_attachment() { 3393 return (bool) $this->is_attachment; 3394 function is_attachment( $attachment = '' ) { 3395 if ( ! $this->is_attachment ) { 3396 return false; 3397 } 3398 3399 if ( empty( $attachment ) ) { 3400 return true; 3401 } 3402 3403 $attachment = (array) $attachment; 3404 3405 $post_obj = $this->get_queried_object(); 3406 3407 if ( in_array( $post_obj->ID, $attachment ) ) { 3408 return true; 3409 } elseif ( in_array( $post_obj->post_title, $attachment ) ) { 3410 return true; 3411 } elseif ( in_array( $post_obj->post_name, $attachment ) ) { 3412 return true; 3413 } 3414 return false; 3394 3415 } 3395 3416 -
trunk/tests/phpunit/tests/query/conditionals.php
r26005 r27016 671 671 $query->set( 'post_type', array( 'post', 'thearray' ) ); 672 672 } 673 674 function test_is_single() { 675 $post_id = $this->factory->post->create(); 676 $this->go_to( "/?p=$post_id" ); 677 678 $post = get_queried_object(); 679 680 $this->assertTrue( is_single() ); 681 $this->assertTrue( is_single( $post ) ); 682 $this->assertTrue( is_single( $post->ID ) ); 683 $this->assertTrue( is_single( $post->post_title ) ); 684 $this->assertTrue( is_single( $post->post_name ) ); 685 } 686 687 function test_is_page() { 688 $post_id = $this->factory->post->create( array( 'post_type' => 'page' ) ); 689 $this->go_to( "/?page_id=$post_id" ); 690 691 $post = get_queried_object(); 692 693 $this->assertTrue( is_page() ); 694 $this->assertTrue( is_page( $post ) ); 695 $this->assertTrue( is_page( $post->ID ) ); 696 $this->assertTrue( is_page( $post->post_title ) ); 697 $this->assertTrue( is_page( $post->post_name ) ); 698 } 699 700 function test_is_attachment() { 701 $post_id = $this->factory->post->create( array( 'post_type' => 'attachment' ) ); 702 $this->go_to( "/?attachment_id=$post_id" ); 703 704 $post = get_queried_object(); 705 706 $this->assertTrue( is_attachment() ); 707 $this->assertTrue( is_attachment( $post ) ); 708 $this->assertTrue( is_attachment( $post->ID ) ); 709 $this->assertTrue( is_attachment( $post->post_title ) ); 710 $this->assertTrue( is_attachment( $post->post_name ) ); 711 } 673 712 }
Note: See TracChangeset
for help on using the changeset viewer.