替换特色图像为七牛外链图片

in Shares with 30 comments

2016.05.20更新:对所有非主题图片进行判断,并使用WEBP格式,加速博客访问
2015.11.08更新:判断是否为Chrome,是则使用WEBP格式

Wordpress自带的特色图像功能无法使用外链图片,真是头疼。思索几番后拿出这个方法,顺便试用一下七牛的图片处理功能。
Code如下:

function IMG_WEBP(){
    function IMG_URL($html){
        global $is_chrome;
        $pattern ='/https:\/\/(dn-img-blog\.qbox\.me|heiybb\.com\/wp-content)\/([^'\']*?)\.(jpg|png|jpeg)/i';
        if($is_chrome){
            $replacement = 'https://img.heiybb.com/$2.$3?imageView2/1/q/85/format/WEBP';
        }
        else{
            $replacement = 'https://img.heiybb.com/$2.$3';
        }
        $html = preg_replace($pattern, $replacement,$html);
    return $html;
    }    
    if(!is_admin()){
        ob_start('IMG_URL');
    }
}
add_action('init', 'IMG_WEBP');
Responses
  1. 好强大,这个code,怎么使用呢

    Reply
    1. @Luke_刘磊

      粘贴到function.php中保存即可

      Reply
      1. @予而不语

        是粘贴到 ?> 里面吗

        Reply
        1. @Luke_刘磊

          我是小白,不太看得懂实现原理

          Reply
          1. @Luke_刘磊

            仪表盘->外观->编辑->选择模板函数(functions.php)在最底部另起空行粘贴,保存就好了。

            Reply
            1. @予而不语

              恩,谢谢,我如果另起空行粘贴到底部,似乎没有用,更新之后代码直接全部显示到了网站顶部。我把代码粘到 ?> 里面没有出错,但是好像也没有效果。另外我看到你的这个代码里有你自己的域名,我需要修改吗?特色图像如何添加呢?

              Reply
              1. @Luke_刘磊

                1.可能是你粘贴错了,在底部粘贴时一定可以起作用的。2.放在?>肯定是错的,这段fucntion是独立的,不需要嵌套进其他函数。3.需要修改,URL_O和URL_N都需要根据你自己的情况修改。

                Reply
                1. @予而不语

                  恩,这一段code是要配合七牛镜像云存储来使用的吗

                  Reply
                  1. @Luke_刘磊

                    配合别的云储存也可以,只有这一段:?imageView2/1/q/85/format/WEBP 是七牛的一个图像处理功能。

                    Reply
  2. 速度快,放在自己的主机上方便点

    Reply
    1. @MinonHeart

      测试过速度没有放在七牛上快。所以最后还是选了放在七牛上。

      Reply
  3. 求七牛客服骚扰

    Reply
    1. @锋子

      嗯?我不是七牛的。。

      Reply
  4. 这个不错 收藏了

    Reply
  5. 唔,站太小,用了万网唔,站太小,用了万网主机就不太需要七牛了主机就不太需要七牛了

    Reply
    1. @小二苘

      不喜欢备案~所以用了香港主机~备案了放在国内肯定快啦不过万网主机IO不太行,图片我还是推荐用CDN加载

      Reply
  6. 我特色图像就用的本地服务器,不过因为小尺寸,我也特地压缩了大小,所以占空间的话其实也还好。现在对七牛有点怕,也不知道为什么

    Reply
    1. @Betty

      是因为经常被七牛客服骚扰是么~最近半个月接了七牛不下10电话~各种询问推荐介绍什么的。不过他们家的服务个人感觉还是很好的。

      Reply