WordPress设置允许WebP格式图像

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

在浏览器支持方面,当前的主流浏览器大都支持WebP格式,并且诸如微信官方帐户之类的大型平台已经开始使用WebP图像,YUZ也想将自己博客插图替换为WebP。

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

function yuz_filter_mime_types( $array ) {
$array['webp'] = 'image/webp';
return $array;
}
add_filter( 'mime_types', 'yuz_filter_mime_types', 10, 1 );

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

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

function yuz_file_is_displayable_image($result, $path) {
$info = @getimagesize( $path );
if($info['mime'] == 'image/webp') {
$result = true;
}
return $result;
}
add_filter( 'file_is_displayable_image', 'yuz_file_is_displayable_image', 10, 2 );

在这之后上传WebP格式图片,显示WebP格式图片,都不会再有问题了。

如下图WebP格式:
WordPress设置允许WebP格式图像

5

发表评论