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

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

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


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

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

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


function QiNiuCDN(){
    function Rewrite_URI($html){
        /* 前面是需要用到七牛的域名也就是博客网站的域名,后面是需要加速的静态文件类型,使用分隔符 | 隔开即可 */
        $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';
        /* 七牛CDN空间地址,请自行替换成实际空间地址或者空间绑定的自定义域名 */ 
        $replacement = 'http://空间地址或者空间绑定的自定义域名/wp-content/uploads$2.$3';
        $html = preg_replace($pattern, $replacement, $html);
        return $html;
    }
    if(!is_admin()){
        ob_start("Rewrite_URI");
    }
}
add_action('init', 'QiNiuCDN');


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


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

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

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


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



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


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




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

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


上述代码大家记得要修改一下提示内容为自己博客的哦,明月个人感觉这是一个很贴心的评论邮件提醒,需要审核的评论还是不少的,审核后通知评论者,其实就是在拉回头客。
最后分享一个(我爱水煮鱼)的“防止 WordPress 遭受恶意 URL 请求”的代码:


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


分享的代码都是需要放在主题function.php里,本文到此结束!


版权相关


本文由本站收集整理分享,转载于 明月登楼博客

本文标签:

版权声明:若无特殊注明,本文皆为《蓝优》原创,转载请保留文章出处。

本文链接:分享几个 WordPress有关七牛云和评论邮件的实用代码 - http://xuboke.com/catjs/53.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论

5条评论
  1. avatar

    跨境电商培训 Lv.1 Firefox 54.0 Firefox 54.0 Windows Windows 回复

    希望能学有所成。

    湖南省 电信

    1. avatar

      个人博客 Lv.1 uBrowser 6.1.2716.5 uBrowser 6.1.2716.5 Windows 7 Windows 7 回复

      谢谢分享

      中国 移动

      1. avatar

        企业咨询 Lv.2 回复

        来访,支持下

        江苏省苏州市 电信

        1. avatar

          明月登楼 Lv.2 回复

          不错,过来点个赞支持一下先!

          江苏省苏州市 电信

          1. 二疯 回复

            回复了明月登楼:表情  欢迎大神

            江苏省苏州市 电信

        00:00 / 00:00
        顺序播放