ADD_IMAGE_SIZE()和上传大小完全相同的图片会在上传中保留1x1张图片

时间:2014-06-20 作者:Howdy_McGee

我添加了图像大小为370x150 这是可行的,但如果我上传一张图像到那些精确的尺寸get_post_thumbnail() 不再按预期工作。如果我查看我的上传文件夹,我会有一个thumbnail, medium, 和full 以及1x1. 我添加图像大小如下:

add_image_size(\'homepage_featured\', array(370, 150));
这样称呼这个图像:

the_post_thumbnail(\'homepage_featured\');
然后调出1x1图像大小。我可能可以通过在缩略图调用之前添加一个条件来绕过此问题,该条件用于测试是否存在该大小:

$thumb = get_the_post_thumbnail($post->ID, \'homepage_featured\');
$thumbArr = explode(\'width="\', $thumb);
if(!empty($thumbArr) && is_numeric($thumbArr[1][0]) && $thumbArr[1][0] >= 370)
    the_post_thumbnail(\'homepage_featured\');
else
    the_post_thumbnail(\'full\');
但这似乎很愚蠢。这是正常的还是我的自定义主题有问题?是否有比上述方法更好的方法来测试是否存在某个缩略图大小?

1 个回复
最合适的回答,由SO网友:Josh 整理而成

http://codex.wordpress.org/Function_Reference/add_image_size

特别注意,语法是

add_image_size( $size, $width, $height );
可能发生的情况是,数组被解析为false,默认值为0,高度也为0。

据我所知,你不能有一个0x0的图像,所以它成为1x1的大小。

结束

相关推荐

Setting the uploads directory

所以我想更改我的上传目录。我可以通过以下方式进行更改:add_filter( \'pre_option_upload_url_path\', \'wpse_77960_upload_url\' ); function wpse_77960_upload_url() { return \'http://subdomain.example.com/files\'; } 或update_option(\'upload_url_path\', \'/wp-content/up