运营

WebP格式上传WordPress

叶九秋 · 11月8日 · 2020年 ·

WordPress默认设定环境下,是不支持webp格式图片上传和预览的,据说是为了安全着想。webp图片格式是google推出的一种相比于jpg更小体积的一种图片格式,现在Chrome浏览器、火狐浏览器,都已经权限支持。在去年年底的时候就连edge浏览器都已经更换成Chrome浏览器的内核。换句话来说,未来!webp图片格式将会成为所有浏览器都支持的一种小体积的图片格式。

webp图片格式拥有相比png更小的体积,偶在视觉感知上,在不影响视觉表现的前提下,相比jpg格式要小85%的体积,相比png无损压缩格式小几倍的体积。截止到今天为止,苹果的浏览器也都已经支持webp格式的图片。

标题

WordPress 默认不支持WebP格式图片上传,将下面代码添加到当前主题函数模板functions.php中,即可解决上传问题。

//开启WordPress上传webp格式图片上传
function mimvp_filter_mime_types( $array ) {
    $array['webp'] = 'image/webp';
    return $array; 
}
add_filter( 'mime_types', 'mimvp_filter_mime_types', 10, 1 );
 
//开启WordPress预览webp缩略图预览
function mimvp_file_is_displayable_image($result, $path) {
    $info = @getimagesize( $path );
    if($info['mime'] == 'image/webp') {
        $result = true;
    }
    return $result;
}
add_filter( 'file_is_displayable_image', 'mimvp_file_is_displayable_image', 10, 2 );

WordPress是一种支持动图和透明图的格式,相比jpg格式,webp既能够支持动态图片,也能够支持透明图,可以理解成是png、gif、jpg、三种格式的几何体,拥有三家的大多数长处的一种有损图片压缩格式。