0%

WordPress对WebP格式的支持

WebP是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,相比于jpg、png格式图片在相同的画质下其能够进一步压缩文件大小,便于网络传播。在WordPress中可以通过在php配置文件中添加相应代码实现对WebP格式图片的上传及预览。初始情况下在WordPress上传WebP图片时会提示:抱歉,由于安全原因,这个文件类型不受支持。此时需要解除WordPress对WebP文件的安全限制。
首先在wp-includes/functions.php 文件中搜索'image/jpeg' => 'jpg',,在下一行添加'image/webp' => 'webp',

在同一文件中继续搜索'jpg|jpeg|jpe'                 => 'image/jpeg',,在下一行添加'webp'                         => 'image/webp',,保存上述文件。

然后在主题的functions.php文件(后台-外观-主题编辑器)里添加下述内容,分别是为WordPress新增WebP图片支持和媒体库内预览WebP图片功能:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//下方一段为WebP图片支持代码 
function bzg_filter_mime_types( $array ) {
$array['webp'] = 'image/webp';
return $array;
}
add_filter( 'mime_types', 'bzg_filter_mime_types', 10, 1 );

//下方一段为媒体库内预览WebP图片支持代码
function bzg_file_is_displayable_image($result, $path) {
$info = @getimagesize( $path );
if($info['mime'] == 'image/webp') {
$result = true;
}
return $result;
}
add_filter( 'file_is_displayable_image', 'bzg_file_is_displayable_image', 10, 2 );