mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2025-10-16 12:05:38 +00:00
Media: Add new functions, get_the_post_thumbnail_url() and the_post_thumbnail_url().
Adds unit tests. Props dipesh.kakadiya, swissspidy, atomicjack. Fixes #33070. git-svn-id: https://develop.svn.wordpress.org/trunk@34373 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
3c0ecff16e
commit
1352d3473a
@ -170,3 +170,30 @@ function get_the_post_thumbnail( $post = null, $size = 'post-thumbnail', $attr =
|
||||
*/
|
||||
return apply_filters( 'post_thumbnail_html', $html, $post->ID, $post_thumbnail_id, $size, $attr );
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the post thumbnail URL.
|
||||
*
|
||||
* @since 4.4.0
|
||||
*
|
||||
* @param int|WP_Post $post Optional. Post ID or WP_Post object. Default is global `$post`.
|
||||
* @param string|array $size Optional. Registered image size to retrieve the source for or a flat
|
||||
* array of height and width dimensions. Default 'post-thumbnail'.
|
||||
* @return string Post thumbnail URL or empty string.
|
||||
*/
|
||||
function get_the_post_thumbnail_url( $post = null, $size = 'post-thumbnail' ) {
|
||||
$image = wp_get_attachment_image_url( get_post_thumbnail_id( $post ), $size );
|
||||
return isset( $image ) ? $image : '';
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the post thumbnail URL.
|
||||
*
|
||||
* @since 4.4.0
|
||||
*
|
||||
* @param string|array $size Optional. Registered image size to retrieve the source for or a flat
|
||||
* array of height and width dimensions. Default 'post-thumbnail'.
|
||||
*/
|
||||
function the_post_thumbnail_url( $size = 'post-thumbnail' ) {
|
||||
echo get_the_post_thumbnail_url( null, $size );
|
||||
}
|
||||
|
||||
@ -110,4 +110,50 @@ class Tests_Post_Thumbnail_Template extends WP_UnitTestCase {
|
||||
|
||||
$this->assertEquals( $expected, $actual );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 33070
|
||||
*/
|
||||
function test_get_the_post_thumbnail_url() {
|
||||
$this->assertEquals( '', get_the_post_thumbnail_url() );
|
||||
$this->assertEquals( '', get_the_post_thumbnail_url( $this->post ) );
|
||||
|
||||
set_post_thumbnail( $this->post, $this->attachment_id );
|
||||
|
||||
var_dump( get_the_post_thumbnail_url( $this->post ) );
|
||||
|
||||
$this->assertEquals( '', get_the_post_thumbnail_url() );
|
||||
$this->assertEquals( wp_get_attachment_url( $this->attachment_id ), get_the_post_thumbnail_url( $this->post ) );
|
||||
|
||||
$GLOBALS['post'] = $this->post;
|
||||
|
||||
$this->assertEquals( wp_get_attachment_url( $this->attachment_id ), get_the_post_thumbnail_url() );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 33070
|
||||
*/
|
||||
function test_the_post_thumbnail_url() {
|
||||
$GLOBALS['post'] = $this->post;
|
||||
|
||||
ob_start();
|
||||
the_post_thumbnail_url();
|
||||
$actual = ob_get_clean();
|
||||
|
||||
$this->assertEmpty( $actual );
|
||||
|
||||
ob_start();
|
||||
the_post_thumbnail_url();
|
||||
$actual = ob_get_clean();
|
||||
|
||||
$this->assertEmpty( $actual );
|
||||
|
||||
set_post_thumbnail( $this->post, $this->attachment_id );
|
||||
|
||||
ob_start();
|
||||
the_post_thumbnail_url();
|
||||
$actual = ob_get_clean();
|
||||
|
||||
$this->assertEquals( wp_get_attachment_url( $this->attachment_id ), $actual );
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user