其实很早就看到使用webp图片格式提供网站访问速度了,因为同样的图片尺寸,webp格式更小。具体的对比我这里就不详述了。
这里只是来分享我在wordpress后台设置webp格式的过程。
正常情况下,wordpress后台是不让上传webp格式的。会提示“抱歉,由于安全原因,这个文件类型不受支持。”

这时我们需要到后台设置:外观 -> 主题编辑器。选择当前主题,修改当前主题function.php里面添加以下代码
添加代码
/* 支持webp格式上传 */ function sans_filter_mime_types( $array ) { $array['webp'] = 'image/webp'; return $array; } add_filter( 'mime_types', 'sans_filter_mime_types', 10, 1 ); /* 媒体库显示webp缩略图 */ function sans_file_is_displayable_image($result, $path) { $info = @getimagesize( $path ); if($info['mime'] == 'image/webp') { $result = true; } return $result; } add_filter( 'file_is_displayable_image', 'sans_file_is_displayable_image', 10, 2 );
清理缓存
我以为只要添加好代码就完事了。但是我在修改另外一个网站支持webp的时候,发现不生效。运用排除法来解决问题:
同样是使用了子主题,网站A通过修改子主题就没事,但是网站B就不行。但是我把代码放到网站B的父主题function里面又没事。
这就奇怪了?想想是不是主题文件有问题,准备把父主题以及子主题删掉重新安装。
百思不得姐,突然想到是不是网站B使用了缓存memcached插件。不如先把插件重启,如果还是解决不了,再重新安装主题。
哈哈,重启缓存插件解决问题。
所以凡是不生效的情况下先想想是不是缓存的问题。