烟雨红尘的寻觅,诗画江南的惦记

WordPress利用七牛云或又拍云使用WebP图片格式

行走江湖 2017-02-25 浏览(994) 评论(5)
- N +

WebP格式是谷歌开发的一种旨在加快图片加载速度的图片格式,体积大概为jpg格式的2/3。但是实际使用中,一般人的图片并不是压缩过的,所以实际体积大约只有原图的三分之一甚至更少。png图片可以在保持肉眼无法分辨图片质量损失的情况下,压缩成50分之一的文件大小!如果一篇文章有多张图片,这速度提升的就不是一点半点了。

又拍云WebP图片转换:https://www.upyun.com/webp.html

那么问题来了,我们手头并没有webp 格式的图片,就算有还有不支持的浏览器,这我们也得考虑。幸运的是主流图片云储存都提供了输入格式的选择,webp 也包含在其中,只要你使用了此类云存储,那么都可以输出webp 格式了,我们剩下要做的就是判断何时输出Webp 格式。简单的方法,可以根据HTTP 头中的accept 是否包含image/webp来判断浏览器是否支持webp 格式。



下面的代码直接加到wp-includes/functions.php中即可:   

function fa_converse_webp($matches) {
    return $matches[1] . $matches['2'] . '!/format/webp';
    // 七牛把!/format/webp替换为下面的字段
    //?imageView2/2/format/webp
}

function fa_converse_webp_filter($content){
    global $post;
    $content = preg_replace_callback("/(<img[^>]*src *= *["']?)([^"']*)/i", 'fa_converse_webp' , $content);
    return $content;
}

function fa_is_support_webp(){
    return strstr($_SERVER['HTTP_ACCEPT'],'image/webp');
}

if ( fa_is_support_webp() ) add_filter('the_content','fa_converse_webp_filter');

默认代码支持的是又拍云,如果你使用的是七牛则将

!/format/webp

替换为

?imageView2/2/format/webp



(本文转自:大发贱志

本文标题:WordPress利用七牛云或又拍云使用WebP图片格式
作者授权:除特别说明外,本文由 情醉中国风 原创编译并授权 情醉中国风博客 刊载发布。
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。
标签:
作者:情醉中国风

评论列表 (5)条评论
网友昵称:Miku_Sama_expo
Miku_Sama_expo游客2年前 (2017-03-13)回复
七牛云WebP图片转换:https://www.upyun.com/webp.html
这个应该是又拍云的哦
网友昵称:抛物线
抛物线游客2年前 (2017-05-08)回复
首页缩略图怎么解决?
网友昵称:情醉中国风
情醉中国风游客2年前 (2017-05-08)回复
@抛物线 什么首页缩略图?其它不需要处理的固定图片放在另一个空间里面,不处理
网友昵称:Miku_Sama_expo
Miku_Sama_expo游客2年前 (2017-03-13)回复
七牛云WebP图片转换:https://www.upyun.com/webp.html
这个应该是又拍云的哦
网友昵称:情醉中国风
情醉中国风管理员2年前 (2017-03-13)回复
@Miku_Sama_expo 是我打错了……

发表评论