WordPress支持 WebP及SVG等格式图片上传

技术文档3938阅读模式

随着网络的不断发展,早期的png,jpg等图像已经不能满足现如今的需求,需要WordPress支持更多的文件格式,今天就为大家分享WordPress支持上传webp、svg、ico等文件功能方法。

当你上传不受支持的图片格式时,就会出现错误提示:上传失败。由于安全原因,这个文件类型不受支持文章源自飞牛士 FeiNews-https://www.feinews.com/experience/1194.html

开启WebP支持

webp是Google出的一种图片格式,是一种同时提供了有损压缩与无损压缩(可逆压缩)的图片文件格式,是由Google在购买On2 Technologies后发展出来,以BSD授权条款发布,让WordPress支持webp,能对文件体积大幅度减小。文章源自飞牛士 FeiNews-https://www.feinews.com/experience/1194.html

在主题的functions.php里添加以下代码即可:文章源自飞牛士 FeiNews-https://www.feinews.com/experience/1194.html

/* 支持webp上传 */
add_filter('mime_types', 'webp_filter_mime_types');
function webp_filter_mime_types($array)
{
    $array['webp'] = 'image/webp';
    return $array;
}
/* 支持在媒体列表中看预览图 */
add_filter( 'file_is_displayable_image', 'webp_file_display');
function webp_file_display($result, $path) {
    $info = @getimagesize( $path );
    if($info['mime'] == 'image/webp') {
        $result = true;
    }
    return $result;
}

 文章源自飞牛士 FeiNews-https://www.feinews.com/experience/1194.html

支持SVG

SVG是一种图像文件格式,它的英文全称为Scalable Vector Graphics,意思为可缩放的矢量图形。可以无限制放大图片大小不失真。文章源自飞牛士 FeiNews-https://www.feinews.com/experience/1194.html

在主题functions.php添加如下代码来支持svg:文章源自飞牛士 FeiNews-https://www.feinews.com/experience/1194.html

/* 支持SVG格式 */
add_filter('upload_mimes', 'upload_support');
function upload_support($mimes = array())
{
    $mimes['svg'] = 'image/svg+xml';
    return $mimes;
}

同时,你还可以添加支持上传其他的文件,比如$mimes['ico'] = 'image/x-icon';添加到$mimes['svg'] 下一行即可。文章源自飞牛士 FeiNews-https://www.feinews.com/experience/1194.html 文章源自飞牛士 FeiNews-https://www.feinews.com/experience/1194.html

评论  3  访客  2  作者  1
    • 夏目贵志
      夏目贵志 5

      typecho 只要上传格式设置自定义下就ok了 哈哈~

    匿名

    发表评论

    匿名网友 填写信息

    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    确定