怎样使WordPress支持WebP格式图片

WebP是Google研发的一种图像格式,能够 加速图像加载速度并节省许多服务器宽带资源和数据空间。它具备比JPEG格式更好的压缩率。它还提供有损压缩与无损压缩的图片文件格式,而且在相同质量下,WebP格式图像的大小比JPEG格式图像小40%。WebP已在主要的互联网公司中广泛利用。外国公司包括Google,Facebook和eBay,而国内公司包括淘宝,腾讯和美团等。
怎样使WordPress支持WebP格式图片

在浏览器支持方面,目前的主流浏览器大都支持WebP格式,而且类似于微信官方帐户之类的大型平台已经开始利用WebP图像,二月繁华小编出于好奇也将自己WordPress站点设置了支持WebP格式图片。

默认情况下,WordPress不支持以WebP格式上传照片。处理方法在主题的functions.php中添加以下代码:

1
2
3
4
5
function feb_filter_mime_types($array){
$array['webp']='image/webp';
return$array;
}
add_filter('mime_types','feb_filter_mime_types',10,1);

尽管现在可以以WebP格式上传照片,但是在媒体列表中看不到缩略图。这是由于WordPress在利用wp_generate_attachment_metadata()函数生成图像数据时,利用file_is_displayable_image()函数判断文件是否为图片,判断WebP图片的结果为否,所以保存图片数据的操作被中断。

解决方法是在主题的functions.php里添加以下代码:

1
2
3
4
5
6
7
8
function feb_file_is_displayable_image($result,$path){
$info=@getimagesize($path);
if($info['mime']=='image/webp'){
$result=true;
}
return$result;
}
add_filter('file_is_displayable_image','feb_file_is_displayable_image',10,2);

修改完代码之后上传WebP格式图片,WebP格式图片此时显示就不会有问题了。

WebP示例:
怎样使WordPress支持WebP格式图片

7

发表评论