我们知道,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、又拍云。为了节约空间,建议使用这种图片格式。