admin管理员组文章数量:1418136
I know how to set the size of a post thumbnail image using the WP Admin Media Settings or using this function:
set_post_thumbnail_size( 150, 150 )
But how would one get the image width and height that have been set for an image thumbnail size?
I'd like to be able to do something like this:
get_post_thumbnail_size(); // return array(150, 150)
How would this be done? Is it by using get_option()
, and would the options keys be for thumbnail width and height?
I know how to set the size of a post thumbnail image using the WP Admin Media Settings or using this function:
set_post_thumbnail_size( 150, 150 )
But how would one get the image width and height that have been set for an image thumbnail size?
I'd like to be able to do something like this:
get_post_thumbnail_size(); // return array(150, 150)
How would this be done? Is it by using get_option()
, and would the options keys be for thumbnail width and height?
7 Answers
Reset to default 8When an image size is added either by WordPress(add_image_size
), or by a plugin or your own custom code it gets added into the $_wp_additional_image_sizes
global, i can't find a similar function for pulling data from that global, but you could certainly just look inside the global to determine what width and height a registered image size has.
Example:
global $_wp_additional_image_sizes;
// Output width
echo $_wp_additional_image_sizes['post_thumbnail']['width'];
// Output height
echo $_wp_additional_image_sizes['post_thumbnail']['height'];
Of course just be sure to reference those values at a point after you've set the size. So if for example you're setting the thumbnail size during init, you'll need to make sure to do whatever you need to after that point(else you'll get back the sizes as they were prior to setting them).
Hope that helps.
There is however another way:
get_option( 'thumbnail_size_w' );
get_option( 'thumbnail_size_h' );
Note: thumbnail
is one of the sizes set inside $_wp_additional_image_sizes
. So the call to get_option()
will work for every other image size too.
The only thing still missing is the thumbnail's ID:
$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$attachment = wp_get_attachment_image_src( $post_thumbnail_id );
$width=$attachment[1];
$height=$attachment[2];
As an addition to why it's such a pain to retrieve these numbers, a core enchancement that contains a finished patch. Sadly it's still not in core.
Just follow the progress of this ticket: Wordpress Trac: Enchance get_intermediate_image_sizes()
to contain not only the names, but the sizes too.
Keep in mind that this global $_wp_additional_image_sizes;
might not work as expected. For example when using is in plugin it will not return the additional sizes that a Themes have registered.
What you need is this function: wp_get_attachment_image_src
Codex: http://codex.wordpress/Function_Reference/wp_get_attachment_image_src
It will return an array containing attachment's url, width and height.
In addition to the post above:
$attachment = wp_get_attachment_image_src( $attachment_id ); // where $attachment_id is the ID of the attachment you want to get the thumbnail from
Then simply use the next code to display the url, width and height:
echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
本文标签: imagesHow do you get the post thumbnail size
版权声明:本文标题:images - How do you get the post thumbnail size? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745279205a2651343.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论