我们知道,WordPress默认版本中,是不支持上传WebP格式图片。因为写作的时候,图片素材来自不同地方,有些WebP格式图片必须通过一次处理转换成其他格式在上传。这样很麻烦。

怎么才能让Wordpress支持WebP图片格式的上传。

我们只需要在你当前使用主题函数模板 functions.php 中 添加以下代码,就可以解决网站无法上传WebP格式图片的问题。

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

上传WebP格式图片后,文章无法所有缩略图解决方法

这是因为Wordpress在用wp_generate_attachment_metadata()这个函数生成数据时,同时也使用了file_is_displayable_image()函数来判断文件是否为图片,这里的WebP肯定是被判定为不是图片文件。

这个函数地址:wp-admin/includes/image.php

如何解决这个问题呢?

在主题的functions.php里添加以下代码:

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

使用以上代码可以解决这个问题。


文章使用WebP格式的图片,有时候并不完全是为了提高网站的加载速度。

按照目前的网络条件,图片是否为WebP格式或者其他的图片格式,对网站的加载影响都是极小的。

但是在大量的图片数据面前,使用WebP格式图片,可以为服务器减少三分之一的储存。同时受用于一些外部储存服务如:七牛、阿里OSS、又拍云。为了节约空间,建议使用这种图片格式。