分享几个与七牛云和评论邮件有关的WP实用代码

投稿  明月登楼的博客 2017-02-14 07:34 阅读 152 次 评论 39 条

年前明月就已经将我手里的三个博客站都开启了七牛云,并在年后启用本地缓存神器插件 WP-Rocket ,至此我的 CDN 加速方案: WordPress 本地缓存+七牛云静态存储+七牛云融合 CDN (只针对静态存储空间)算是告一段落了。

本着“生命不止、折腾不息”的宗旨,又利用七牛云存储缓存了 Gravatar 头像,解决了 Gravatar 被“墙”后总是拖慢 WordPress 的问题。

为了更有效率的使用七牛云,一口气注册并实名认证了三个七牛账户,根据不同博客站和需求来分别使用,并且都绑定了自定义域名,现在无论是头像、文章图片、缩略图调用都已部署成自由的二级域名,感觉逼格提升了不少,嘿嘿!

分享几个与七牛云和评论邮件有关的WP实用代码 WordPress 第1张

今天就分享几个最近几天折腾而来的针对七牛云的实用性蛮高的代码,以便有需要的站长们使用:

1、 WordPress 首页、文章列表缩略图调用七牛图片

其实这段代码利用缓存插件 WP Super Cache 和 W3 Total Cache 里面的 CDN 支持就可以实现的,但是这两个插件严重拖慢了 WordPress 后台载入速度,明月也是不得不放弃,还好有 WP-Rocket 这个神器来替换,但是 WP-Rocket 对七牛云的支持就简单的多了,无法实现缩略图调用七牛图片,所以才找到了这段代码,昨晚我的博客已经率先使用上了,目前本博已经通过下面的代码实现了WordPress 首页、文章列表缩略图调用七牛图片,再次减轻了主机负载。

  1. function QiNiuCDN(){
  2.     function Rewrite_URI($html){
  3.         /* 前面是需要用到七牛的域名也就是博客网站的域名,后面是需要加速的静态文件类型,使用分隔符 | 隔开即可 */
  4.         $pattern = '/http:\/\/(blog\.|)ymanz\.com\/wp-content\/uploads([^"\']*?)\.(js|css|jpg|gif|png|jpeg|bmp|webp|svg|tiff|webm|mp3|mp4|3gp|mov|ico)/i';
  5.         /* 七牛CDN空间地址,请自行替换成实际空间地址或者空间绑定的自定义域名 */
  6.         $replacement = 'http://空间地址或者空间绑定的自定义域名/wp-content/uploads$2.$3';
  7.         $html = preg_replace($pattern, $replacement, $html);
  8.         return $html;
  9.     }
  10.     if(!is_admin()){
  11.         ob_start("Rewrite_URI");
  12.     }
  13. }
  14. add_action('init', 'QiNiuCDN');

上述代码的实现可能会消耗一定的七牛云空间以及融合 CDN 流量,如果你的博客网站流量已经多到收费了,那就不建议你采用了,免费情况下还是可以玩玩的,提升装逼逼格!

2、文章内调用七牛图片默认尺寸属性

这段代码比较适合高清图片多的场景,一篇文章内高清、高分辨率图片多的时候会严重影响网页载入效率的,可以借助下面的代码设定一个默认的小尺寸的图片来加快网页载入时间,再配合 WordPress 的图片暗箱功能(就是点击图片看原图)方便用户快速查看原图片(这里需要在编辑文章插入图片时将图片链接到“媒体(图片)文件”的)来变相的实现速度优化,还可以减小一些无谓的七牛云流量消耗。目前,我的博客和主站【玉满斋】都在使用这段代码,效果很明显。

  1. //设置调用七牛图片默认尺寸属性
  2. add_filter('the_content', 'removeimg_size');
  3. function removeimg_size($content) {
  4.     global $post;
  5.     //去掉srcset属性
  6.     $content = preg_replace("/srcset=('|\")(.*?)('|\")/i"''$content);
  7.     //设置图片默认尺寸,下面一行的400即为图片宽高,可以根据情况自己调整
  8.     $content = preg_replace('/<img(.*?)width="(.*?)" height="(.*?)"(.*?)>/i', '<img$1width="400" height="400"$4>', $content);
  9.     return $content;
  10. }

使用这段代码,大家不用担心图片被裁剪的有缺失,因为默认都是居中裁剪的,所以几乎没有影响的,并且我还发现在手机移动端载入速度也提升不少,图片小了嘛。

3、替换 WordPress 头像地址为七牛云空间缓存Gravatar的头像地址

  1. //缓存Gravatar 头像到七牛云存储,WordPress 4.0+ 适用
  2. function qiniu_avatar($avatar) {
  3.   $avatar = preg_replace('/.*\/avatar\/(.*)\?s=([\d]+)&.*.srcset=.*/','<img src="http://你的七牛域名或者绑定的自定义域名/avatar/$1-$2" class="avatar avatar-$2" height="$2" width="$2">',$avatar);
  4.   return $avatar;
  5. }
  6. add_filter( 'get_avatar', 'qiniu_avatar', 10, 3 );

这个其实前天的文章【利用七牛云存储缓存Gravatar头像加速 WordPress】里已经分享过了,完全是凑数的,呵呵,我就不多说了,不明白的可以参考前天的文章。

4、评论审核通过后邮件通知评论者

  1. //评论通过审核后邮件通知评论者
  2. add_action('comment_unapproved_to_approved', 'ludou_comment_approved');
  3. function ludou_comment_approved($comment) {
  4.   if(is_email($comment->comment_author_email)) {
  5.     $post_link = get_permalink($comment->comment_post_ID);
  6.     // 邮件标题,可自行更改
  7.     $title = '您在 [明月登楼博客] 的评论已通过审核';
  8.     // 邮件内容,按需更改。如果不懂改,可以给我留言
  9.     $body = '您在明月登楼博客《<a href="'.$post_link.'">'.get_the_title($comment->comment_post_ID).'</a>》发表的评论:<br />
  10.             '.$comment->comment_content.'<br /><br />
  11.             已通过管理员审核并显示。<br />
  12.             您可在此查看您的评论:<a href="'.get_comment_link( $comment->comment_ID ).'">前往查看</a>';
  13. [email protected]_mail($comment->comment_author_email, $title$body"Content-Type: text/html; charset=UTF-8");
  14.   }
  15. }

上述代码大家记得要修改一下提示内容为自己博客的哦,明月个人感觉这是一个很贴心的评论邮件提醒,需要审核的评论还是不少的,审核后通知评论者,其实就是在拉回头客。

最后分享一个鱼哥(我爱水煮鱼)的“防止 WordPress 遭受恶意 URL 请求”的代码:

  1. //防止 WordPress 遭受恶意 URL 请求。From:http://blog.wpjam.com/m/block-bad-queries/
  2. if(strlen($_SERVER['REQUEST_URI']) > 384 ||
  3.     strpos($_SERVER['REQUEST_URI'], "eval(") ||
  4.     strpos($_SERVER['REQUEST_URI'], "base64")) {
  5. [email protected]("HTTP/1.1 414 Request-URI Too Long");
  6. [email protected]("Status: 414 Request-URI Too Long");
  7. [email protected]("Connection: Close");
  8.         @exit;
  9. }

今天分享的代码都是需要放在主题function.php里的,如果担心主题升级或者更换后失效和丢失上述代码,大家可以采用本博【如何方便的在更新主题时保留functions.php里的自定义】一文里的方法,真的很不错的,我一直都是这样用的。

今天分享的代码都是网络收集而来,分别来自【张戈博客】、【我爱水煮鱼】,特此声明,同时也感谢两位大咖的无私奉献。

赞赏作者

如果文章对你有帮助,请赞赏支持作者继续创作!

本文地址:http://boke112.com/3791.html
文章标签: ,   ,  
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
温馨提示:文章内容仅代表作者个人观点,不代表boke112导航赞同其观点和对其真实性负责!
版权声明:本文为投稿文章,感谢 明月登楼的博客 的投稿,版权归原作者所有,欢迎分享本文,转载请保留出处!
WordPress免费响应式主题:Nana

发表评论


表情

  1. YangOne
    YangOne 【村长】 @回复

    感谢博主分享,文章内容很实用。

  2. 热腾网
    热腾网 【市长】 @回复

    3个七牛账号。牛逼!

  3. 一介小民
    一介小民 【市长】 @回复

    等我流量起来了,再用上

  4. 杭州SEO优化
    杭州SEO优化 【镇长】 @回复

    不错不错

  5. 麦林风博客
    麦林风博客 【村长】 @回复

    先收藏了,暂时用不到。

  6. 我要网赚
    我要网赚 【市长】 @回复

    我们都是来蹭流量的吗?

  7. 分钱榜
    分钱榜 【县长】 @回复

    高大上,但看着挺复杂的

  8. 写给工厂上班的人
    写给工厂上班的人 【镇长】 @回复

    记述文,确实不错。 我找个时间试一试。

  9. BanYuner
    BanYuner 【镇长】 @回复

    还是比较使用的 但是目前我的站点已经不再适合使用七牛的了 流量已经不能满足了 只能使用部分图片从其牛走 其余的还是走的服务器 最有效的提升就是CDN加上高带宽

  10. 微部落博客
    微部落博客 【总理】 @回复

    呵呵,站长还是一如既往在折腾技术

  11. 阅乎之
    阅乎之 【村长】 @回复

    大家能否推荐一款功能比较完善的 seo插件呢,我百度的DX-seo,感觉功能很满意,就是安装不了,wordpress后台插件也搜不到了!

    请大家推荐一款!

  12. Mr.Li
    Mr.Li 【村长】 @回复

    我的感觉用了七牛之类的cdn,反而速度变慢了许多

    • 明月登楼的博客
      明月登楼的博客 【总理】2017-02-14 12:36  回复

      @Mr.Li呵呵,七牛云其实算不上是 CDN 的,我感觉叫云存储比较合适!至于你说的反而速度慢了,那是因为 CDN 缓存策略没有配置好,造成 CDN 缓存了动态文件总是回源!

  13. 阅乎之
    阅乎之 【村长】 @回复

    貌似最后一个鱼哥的代码,和你上一个代码一样,是不是写错了!另外发现贵博有一个亮点,就是输入文字的时候有彩色的小点弹出来,求解,是怎么实现的!

  14. 码农BTS
    码农BTS 【县长】 @回复

    回头也试试

  15. 旭博客
    旭博客 【队长】 @回复

    每日一签。。

  16. 杭州SEO优化
    杭州SEO优化 【镇长】 @回复

    不错 值得一看

  17. 雅兮网
    雅兮网 【省长】 @回复

    明月兄火力全开,最近几个月在主机优化上大下功夫

  18. 柒号淘金
    柒号淘金 【队长】 @回复

    我在别的网站看到你的留言,你的网站也被别人完全复制过?现在好了吗?是如何设置?谢谢

  19. 靠谱学生兼职网
    靠谱学生兼职网 【市长】 @回复

    哦,这个好。不过不用七牛

  20. 免费会员电影
    免费会员电影 【镇长】 @回复

    感觉挺受用的

  21. 爱时尚
    爱时尚 【市长】 @回复

    想用图片调用,不知道如何操作,我都是放本地

  22. 真我风采
    真我风采 【村长】 @回复

    值得收藏。

  23. 玉满斋
    玉满斋 【市长】 @回复

    不错,过来支持一下!

  24. 明月登楼的博客
    明月登楼的博客 【总理】 @回复

    嘿嘿,露个脸!

  25. 金榜台博客
    金榜台博客 【市长】 @回复

    来看看,学习一下