您如何获得帖子缩略图的大小?


13

我知道如何使用WP Admin Media Settings或使用此功能设置帖子缩略图的大小:

set_post_thumbnail_size( 150, 150 )

但是,如何获得为图像缩略图大小设置的图像宽度 高度

我希望能够执行以下操作:

get_post_thumbnail_size(); // return array(150, 150)

怎么做?是使用get_option(),并且选项键用于缩略图的宽度和高度吗?

Answers:


8

当通过WordPress(add_image_size),插件或您自己的自定义代码添加图像大小时,图像大小被添加到了$_wp_additional_image_sizes全局变量中,我找不到从该全局变量中提取数据的类似功能,但您肯定可以在内部查看全局值,以确定注册图像尺寸的宽度和高度。

例:

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'];

当然,请务必在设置大小后的某个时刻引用这些值。因此,例如,如果您要在初始化过程中设置缩略图大小,则需要确保在此之后做所有需要做的事情(否则,您将恢复设置大小之前的大小)。

希望能有所帮助。


它似乎post-thumbnail不是post_thubmnail(WP3.6)
user2019515 2013年

15

但是,还有另一种方法:

get_option( 'thumbnail_size_w' );
get_option( 'thumbnail_size_h' );

注意:thumbnail是其中设置的尺寸之一$_wp_additional_image_sizes。因此,对的调用get_option()也适用于所有其他图像尺寸。


4
实际上,这是最佳选择,因为插件可以在其上运行其钩子。
fuxia

1
这就是为什么令我惊讶的是尚未被提及的原因。
2012年


1

请记住,这global $_wp_additional_image_sizes; 可能无法正常工作。例如,在插件中使用时,它将不会返回主题已注册的其他大小。


如果您在操作序列中以后打够电话,即会。如果主题在init操作上注册了大小,则必须在该操作发生后进行调用。
t31os 2013年

1

唯一仍然缺少的是缩略图的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];


-1

除了上面的帖子:

$attachment = wp_get_attachment_image_src( $attachment_id ); // where $attachment_id is the ID of the attachment you want to get the thumbnail from

然后只需使用下面的代码显示url,宽度和高度:

echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.