Media: Add a new function, wp_get_attachment_image_url(), which is a shortcut for wp_get_attachment_image_src() - same function signature, but returns just the URL based on $size.

Adds unit test.

Props dipesh.kakadiya, swissspidy, sebastian.pisula.
Fixes #33878.


git-svn-id: https://develop.svn.wordpress.org/trunk@34372 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Scott Taylor 2015-09-22 04:12:44 +00:00
parent 8a33422bfc
commit 3c0ecff16e
2 changed files with 33 additions and 0 deletions

View File

@ -793,6 +793,22 @@ function wp_get_attachment_image($attachment_id, $size = 'thumbnail', $icon = fa
return $html;
}
/**
* Get the URL of an image attachment.
*
* @since 4.4.0
*
* @param int $attachment_id Image attachment ID.
* @param string|array $size Optional. Registered image size to retrieve the source for or a flat
* array of height and width dimensions. Default 'thumbnail'.
* @param bool $icon Optional. Whether the image should be treated as an icon. Default false.
* @return string|false Attachment URL or false if no image is available.
*/
function wp_get_attachment_image_url( $attachment_id, $size = 'thumbnail', $icon = false ) {
$image = wp_get_attachment_image_src( $attachment_id, $size, $icon );
return isset( $image['0'] ) ? $image['0'] : false;
}
/**
* Adds a 'wp-post-image' class to post thumbnails. Internal use only.
*

View File

@ -718,4 +718,21 @@ EOF;
remove_filter( 'embed_maybe_make_link', array( $this, 'filter_wp_embed_shortcode_custom' ), 10 );
}
/**
* @ticket 33878
*/
function test_wp_get_attachment_image_url() {
$this->assertFalse( wp_get_attachment_image_url( 0 ) );
$post_id = $this->factory->post->create();
$attachment_id = $this->factory->attachment->create_object( $this->img_name, $post_id, array(
'post_mime_type' => 'image/jpeg',
'post_type' => 'attachment',
) );
$image = wp_get_attachment_image_src( $attachment_id, 'thumbnail', false );
$this->assertEquals( $image[0], wp_get_attachment_image_url( $attachment_id ) );
}
}