WordPress添加了不存在的缩放图像(1536x1536和2048x2048)

时间:2019-12-11 作者:Sam

我正在美国建立一个主题,并使用本地古腾堡积木。

通过我的函数,我有以下代码。用于设置图像大小的php文件:

add_theme_support( \'post-thumbnails\' );
add_image_size( \'carousel\', 1366, 550, true );
add_image_size( \'hero\', 1366, 400, true );
add_image_size( \'large-square\', 392, 340, true ); 
add_image_size( \'medium-square\', 279, 314, true );
add_image_size( \'small-square\', 215, 170, true );
add_image_size( \'diagram\', 650 ); 
add_image_size( \'full-width\', 884 ); 
add_image_size( \'half\', 430 ); 
add_image_size( \'third\', 279 ); 
add_image_size( \'quarter\', 203 );
我还有以下代码来删除默认图像大小:

function remove_default_image_sizes( $sizes) {
    unset( $sizes[\'thumbnail\']);
    unset( $sizes[\'medium\']);
    unset( $sizes[\'medium_large\']);
    return $sizes;
}
add_filter(\'intermediate_image_sizes_advanced\', \'remove_default_image_sizes\');
通过WP CLI添加新图像或重新生成缩略图时,会出现许多生成的图像大小,但无法识别:

image-scaled-2048x600.jpg
image-scaled-1536x450.jpg
image-scaled-1024x300.jpg
我最初认为可能是因为recent WordPress 5.3 update 这引入了一种管理大型图像的新方法。

我尝试将其添加到函数中。php:

add_filter( \'big_image_size_threshold\', \'__return_false\' );
但我还是得到了放大的图像,就像这样:

image-scaled-2048x600.jpg
WordPress从哪里获得这些图像大小?我正在为构建运行一个插件(ACF).

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

我找到凶手了!

WordPress 5.3引入了其他图像大小,可通过/wp-includes/media.php.

像这样更新我的函数,删除了额外的大小:

function remove_default_image_sizes( $sizes) {
    unset( $sizes[\'large\']); // Added to remove 1024
    unset( $sizes[\'thumbnail\']);
    unset( $sizes[\'medium\']);
    unset( $sizes[\'medium_large\']);
    unset( $sizes[\'1536x1536\']);
    unset( $sizes[\'2048x2048\']);
    return $sizes;
}
add_filter(\'intermediate_image_sizes_advanced\', \'remove_default_image_sizes\');

SO网友:zighead

您还可以使用remove_image_size (参见:https://developer.wordpress.org/reference/functions/remove_image_size/)

示例(放在functions.php文件中):

remove_image_size(\'1536x1536\');
remove_image_size(\'2048x2048\');
但是,此功能不适用于默认WP图像大小(例如“缩略图”、“中”、“大”等)。不过还有一个解决办法。只需将大小设置为0:

update_option( \'thumbnail_size_h\', 0 );
update_option( \'thumbnail_size_w\', 0 );
update_option( \'medium_size_h\', 0 );
update_option( \'medium_size_w\', 0 );
update_option( \'medium_large_size_w\', 0 );
update_option( \'medium_large_size_h\', 0 );
update_option( \'large_size_h\', 0 );
update_option( \'large_size_w\', 0 );

相关推荐

https images not displaying

Setup嗨,伙计们!我有个奇怪的问题。我正在使用安装了ssl证书的wordpress Premium BeTheme。Problem问题是,虽然图像是用https上传到网站上的,但它们没有显示出来。如果我手动将图像的URL从https切换到http,它们就会开始显示。What I have done?我尝试过在internet上卸载ssl证书和几乎所有的解决方案,但都没有解决。Here is the URL of the website : https://uptimeelite.com/