为WordPress开启webp和svg支持

webp是Google出的一种图片格式,是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,派生自影像编码格式VP8,被认为是WebM多媒体格式的姊妹项目,是由Google在购买On2 Technologies后发展出来,以BSD授权条款发布。

让WordPress支持webp,能对文件体积大幅度减小。

在主题或者插件添加如下代码来支持webp

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

支持上传了,但是不支持预览,需要手动处理,处理后能在媒体中心直接预览

 

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

 支持SVG

SVG是一种图像文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。可以无限制放大图片大小不失真。

在主题或者插件添加如下代码来支持svg

下面的函数是让WordPress支持上传svg文件,同时,这个函数修改修改还能支持上传其他的文件,只需要添加到数组即可

 

function upload_support($mimes = array())
{
    $mimes['svg'] = 'image/svg+xml';
    return $mimes;
}
add_filter('upload_mimes', 'upload_support');
THE END