Wordpress回退缩略图大小

Wordpress回退缩略图大小,wordpress,Wordpress,我刚刚从一个旧的wordpress站点导入了大约1000篇文章到一个新的站点。新主题需要比前一个主题更大的图像,并且符合特定的纵横比(4:3) 我已设置了自定义图像大小: add_image_size( 'blog_thumbnail', 640, 480, true); 这是可行的,但由于之前网站上的大多数图像都比这小,因此没有被裁剪,这是一个问题,因为它们并非都是4:3(事实上,它们使用了大约20种不同的比例) 因此,我设置了一个备用图像大小,它将覆盖所有图像: add_image_siz

我刚刚从一个旧的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' );
您可以尝试从原始全尺寸图像中重新生成新的缩略图大小
640480

但效果如何取决于全尺寸图像是否仍然存在(通常可以在/上传/中以带有标题且无大小的图像或在媒体库中找到它们),以及全尺寸图像是否具有足够的大小和质量以允许调整大小

编辑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');
        }
}
if(具有\u post\u缩略图()){
$imgdata=wp\u get\u attachment\u image\u src(get\u post\u thumbnail\u id(),'current\u blog\u thumbnail');
$imgwidth=$imgdata[1];
$minimum_width=300;//将此最小宽度更改为您需要的宽度
如果($imgwidth<$minimum_width)){
文章缩略图(“当前博客缩略图”);
}否则{
发布缩略图(“回退日志缩略图”);
}
}
您可以尝试从原始全尺寸图像中重新生成新的缩略图大小
640480

但效果如何取决于全尺寸图像是否仍然存在(通常可以在/上传/中以带有标题且无大小的图像或在媒体库中找到它们),以及全尺寸图像是否具有足够的大小和质量以允许调整大小

编辑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');
        }
}
if(具有\u post\u缩略图()){
$imgdata=wp\u get\u attachment\u image\u src(get\u post\u thumbnail\u id(),'current\u blog\u thumbnail');
$imgwidth=$imgdata[1];
$minimum_width=300;//将此最小宽度更改为您需要的宽度
如果($imgwidth<$minimum_width)){
文章缩略图(“当前博客缩略图”);
}否则{
发布缩略图(“回退日志缩略图”);
}
}

重新生成缩略图不起作用,因为我知道许多(大多数偶数)缩略图不够大。重新生成缩略图不起作用,因为我知道许多(大多数偶数)缩略图不够大。