如何禁用WordPress自动生成缩略图裁剪功能?
多数新媒体人都会在文章里,直接添加原始图片,也不会用wordpress自动裁剪过的图片。
虽然裁剪过的图片没用,但WordPress不会自动删除掉,日积月累,这些“垃圾图片”浪费了非常多的网站空间容量,同时在备份时会添加很多压力。
WordPress自动裁剪的缩略图我们可以手动删除,最好是完全彻底禁止WordPress自动裁剪图片的功能。
禁用WordPress自动生成缩略图裁剪功能
打开WordPress options模式(WP后台点击【设置】–>【多媒体选项】)
www. xxx com/wp-admin/options-media.php
将这3个尺寸的图片的长宽,都设为0:
- 缩略图大小
- 中等大小
- 大尺寸
并且,勾选 “总是裁剪缩略图到这个尺寸”。
如下图所示:
不过,在WP主题里,通常都会有自动生成缩略图的代码,怎么办呢?
有人说可以用Notepad++打开所有的wordpress主题文件,批量搜索关键词 “thumbnail” ,找到了如下代码:
function set_post_thumbnail_size($width= 0,$height= 0,$crop= false ) { add_image_size(‘post-thumbnail’,$width,$height,$crop); }
这是设置图片裁剪尺寸的代码,并且调用了 add_image_size
此函数功能。
add_image_size函数的功能作用:
- 注册一个新的图片尺寸,意味着你上传新的图片,WordPress 就会创建一个按照这个尺寸的新特色图片。
若想完全禁止 WordPress 自动裁剪缩略图,就只能干掉这个函数了!
最简单的方法是找到此函数,然后注释掉即可。
不过,此法太烂,每次更新WordPress主题就需要重新注释……
通过搜索,找到网上一些禁止某功能的方法,将以下代码复制到 WordPress 主题 functions.php 文件里,便可彻底禁止wordpress自动生成缩略图裁剪功能。
// 禁用自动生成的图片尺寸 function shapeSpace_disable_image_sizes($sizes) { unset($sizes['thumbnail']); // disable thumbnail size unset($sizes['medium']); // disable medium size unset($sizes['large']); // disable large size unset($sizes['medium_large']); // disable medium-large size unset($sizes['1536x1536']); // disable 2x medium-large size unset($sizes['2048x2048']); // disable 2x large size return $sizes; } add_action('intermediate_image_sizes_advanced', 'shapeSpace_disable_image_sizes'); // 禁用缩放尺寸 add_filter('big_image_size_threshold', '__return_false'); // 禁用其他图片尺寸 function shapeSpace_disable_other_image_sizes() { remove_image_size('post-thumbnail'); // disable images added via set_post_thumbnail_size() remove_image_size('another-size'); // disable any other added image sizes } add_action('init', 'shapeSpace_disable_other_image_sizes');
如果嫌上面代码太多,或者2选1,不要添加上面代码,只添加以下代码 ▼
// 彻底禁止 WordPress 缩略图 add_filter( 'add_image_size', function() { return 1; } );
- 其实这就是在函数里面插入一个return,将这个函数弃用。
删除medium_large_size_w
在WordPress 4.4版本安装/更新的时候,会将这个 “medium_large_size_w” 尺寸写入到options中,导致后面会一直生成768w像素尺寸缩略图。
当然,前人这个解决方案是要修改数据库,不是很方便。
打开WordPress options模式(WP后台点击【设置】–>【全部设置】)
www. xxx com/wp-admin/options.php
然后在浏览器按下Ctrl+F搜索:
medium_large_size_w
- 找到后将值改为0,然后拉到页面底部,点击【保存更改】即可。
虽然添加WordPress代码的方式,能禁用WordPress自动生成缩略图裁剪,但仍然不够全面……
陈沩亮推荐你安装使用 Image Sizes插件 ▼
希望陈沩亮博客( https://www.chenweiliang.com/ ) 分享的《如何禁用WordPress自动生成缩略图裁剪功能?添加代码》,对您有帮助。
欢迎分享本文链接:https://www.chenweiliang.com/cwl-388.html
喜欢就分享和按赞!您的分享和按赞,是我们持续的动力!