解决WordPress禁止生成多张缩略图片代码(一般是5张)

发布于 2022-04-27 更新于 2022-04-28 当前分类:» 学习笔记 阅读数:40

首先设置 后台-设置-媒体

把里边三种 都设置为 0

//禁用一些裁剪的尺寸
function salong_disable_wp_tailoring( $sizes ){
    //unset( $sizes[ 'thumbnail' ]);				        //缩略图大小
    unset( $sizes[ 'medium' ]);						        //中等大小
    unset( $sizes[ 'medium_large' ] );				        //这张就是自动生成的768图片选项
    unset( $sizes[ 'large' ]);						        //大尺寸
    unset( $sizes[ 'full' ] );						        //全尺寸
	unset( $sizes[ '1536x1536' ] );
	unset( $sizes[ '2048x2048' ] );
    //unset( $sizes[ 'woocommerce_thumbnail' ] );           //300x300
    unset( $sizes[ 'woocommerce_single' ] );                //600x0
    unset( $sizes[ 'woocommerce_gallery_thumbnail' ] );     //100x100
    unset( $sizes[ 'shop_catalog' ] );                      //300x300
    unset( $sizes[ 'shop_single' ] );                       //600x0
    unset( $sizes[ 'shop_thumbnail' ] );                    //100x100

    return $sizes;
}
add_filter( 'intermediate_image_sizes_advanced', 'salong_disable_wp_tailoring' );

把以上代码,放到/wp-content/themes/你的主题文件夹/ functions.php 文件任意地方,一般是最底部。

大功告成。这样在服务器中生成的图片只剩下两个,一个是XXX.JPG原图,一个是多了一个后缀名XXX-scaled.JPG

什么意思呢? -scaled 的意义是
当你上传了一个超级大的图片的时候,它会自动生成一个小一些的 -scaled 的图片,然后用 -scaled 来显示。

如果你要禁用 -scaled 图片的生成,就将代码加上

add_filter('big_image_size_threshold', '__return_false');

自己试试吧。

还有一个网上摘来的代码,据说该代码可以禁止生成一切缩略图,我没试过。

add_filter( 'intermediate_image_sizes', function( $sizes ){ return array_filter( $sizes, function( $val ) { return 'medium_large' !== $val; // Filter out 'medium_large' } );} );

北京天佑 2022年4月27日

发布评论