Webp是由谷歌开发的一种图像格式,它既能提供有损压缩,又能无损压缩(可逆),还可衍生自VP8视频编码。让WordPress支持webp,能对文件体积大幅度减小。而同时svg图片也拥有相同的性质,所以开启对webpsvg的支持还是至关重要的。

「代码发布」添加代码为WordPress开启Webp和SVG支持插图
添加代码为WordPress开启Webp和SVG支持

支持Webp

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,意思为可缩放的矢量图形。可以无限制放大图片大小不失真。

下面的函数是让WordPress支持上传svg文件,同时这个函数修改修改还能支持上传其他的文件,只需要添加到数组即可。在主题或者插件添加如下代码来支持svg

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