示例:假设您已将WordPress中的缩略图大小设置为200px/200px
而不进行裁剪。如果您上传的图片为600px/300px
,则会将其调整为200px/100px
。换句话说,它被调整大小以适应定义的缩略图维度,类似于CSS background-size: contain;
属性。
我真正喜欢的是尽可能地将上传的图像缩小到填充定义的缩略图,类似于CSS background-size: cover;
属性。因此,我的600px/300px
图片会调整为400px/200px
。
我不想为此实现CSS修复;我希望找到一个我可以在WordPress中实现的解决方案,以便我的图像实际上按照我的描述调整大小。我目前正在定义两个替代缩略图大小,并在输出之前对它们进行比较,但我更喜欢有一个不需要额外图像文件的解决方案。我正在使用的代码是这样的:
add_image_size('thumbnail_wide', 0, 250, false);
add_image_size('thumbnail_tall', 250, 0, false);
以后:
$thumbnail_tall = wp_get_attachment_image_src($attachment->ID, 'thumbnail_tall');
$thumbnail_wide = wp_get_attachment_image_src($attachment->ID, 'thumbnail_wide');
if ($thumbnail_wide[1] >= 200 && $thumbnail_wide[2] >= 200) {
$attachment_data['thumbnail'] = $thumbnail_wide;
} else {
$attachment_data['thumbnail'] = $thumbnail_tall;
}