我刚从一个旧的wordpress网站导入了大约1000个帖子到一个新的帖子。新主题需要比前一个更大的图像,并符合特定的宽高比(4:3)。
我已设置自定义图片尺寸:
add_image_size( 'blog_thumbnail', 640, 480, true);
有效,但由于前一站点的大部分图像都比这小,所以它们没有被裁剪,这是一个问题,因为它们不是全部4:3(实际上它们使用了大约20种不同的比率)。
所以我设置了一个覆盖所有图像的后备图像尺寸:
add_image_size( 'blog_thumbnail_mini', 300, 225, true);
但我想不出一种方法可以将此设置为后备,除了包含两者并隐藏CSS后备,如果存在更大的,这似乎是次优解决方案。
我使用非常标准的代码来嵌入图像:
$thumb = wp_get_attachment_image( get_post_thumbnail_id($post['ID']), 'blog_thumbnail' );
答案 0 :(得分:0)
您可以尝试https://wordpress.org/plugins/regenerate-thumbnails/,它会从原始完整尺寸的图片中重新生成新的缩略图尺寸640, 480
。
但是如何运作取决于是否仍然存在全尺寸图像 - 您通常可以将它们作为带有标题和没有尺寸的图像或在媒体库中的/上传/发现 - 如果全尺寸图像是足够的尺寸和质量,以允许调整大小。
编辑10/20/16
您可以尝试检查当前缩略图的最小宽度,然后使用它或者回退到另一个缩略图尺寸:
if ( has_post_thumbnail() ) {
$imgdata = wp_get_attachment_image_src( get_post_thumbnail_id(), 'current_blog_thumbnail' );
$imgwidth = $imgdata[1];
$minimum_width = 300; //change this minimum width to what you need
if ( ($imgwidth < $minimum_width ) ) {
the_post_thumbnail('current_blog_thumbnail');
} else {
the_post_thumbnail('fallback_blog_thumbnail');
}
}