Wordpress后备缩略图大小

时间:2016-10-19 15:37:59

标签: wordpress

我刚从一个旧的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' );

1 个答案:

答案 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');
        }
}