移除超大的生成图像会禁用所有作物

时间:2021-02-18 作者:RMH

function filter_image_sizes( $sizes) {
    unset( $sizes[\'1536x1536\']); // disable 2x medium-large size
    unset( $sizes[\'2048x2048\']); // disable 2x large size
    return $sizes;
}
add_filter(\'intermediate_image_sizes_advanced\', \'filter_image_sizes\');
我检查了uploads文件夹,现在只添加了原始图像。我查看了文件,我认为我没有看到它因为它而移除了所有作物。

我做错什么了吗?删除这些尺寸时,是否需要重新添加默认尺寸?

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

add_filter( \'intermediate_image_sizes_advanced\', function ( $sizes ) {

$allowed = [ \'thumbnail\', \'medium\', \'large\', \'medium_large\' ];
foreach ( $sizes as $name => $size ) {
    if ( ! in_array( $name, $allowed ) ) {
        unset( $sizes[ $name ] );
    }
}


return $sizes;
} );
我最终用我允许的作物设置了一个数组,然后取消设置任何不存在的东西。