分享各种网络资源
是我乃至整个互联网的精髓所在
最新消息:站点开启被动注册模式,详情点击这里了解
 您目前所在位置: 站点首页 » WordPress » 讨论 » WordPress七牛冲突解决办法[两种情况]
+

WordPress七牛冲突解决办法[两种情况]

  • 第一种情况
  • 第二种情况
  • 总结
  • WordPress七牛冲突解决办法[两种情况]-BanYuner

    现在很多站点都在使用七牛插件,但是七牛的插件有时候会跟主题的评论产生冲突,也就是评论的时候会报错,那么为什么会报错,我们暂且不管,我们需要的就是解决这个问题,那么如何解决呢,这里有两种情况,同时对应两种解决方案,看了网络上面的大部分解决方案只是针对第一种,而第二种并没有人提出,今天有幸在小影志博客看到了解决方案,甚是欣喜,所以马上来分享给大家:

    第一种情况

    这种情况是你的主题启用了ajax评论的方式,那么你的主题目录下一般都会存在一个comments-ajax.js的文件,问题就出现在这个文件上面,我们需要做的事情就是将这个文件下载到本地编辑之后再上传,那么如何编辑呢?这里我附上关键代码:

    // 修复七牛cdn评论失效
    js_url = js_url.replace('7xxxxx.com1.z0.glb.clouddn.com','banyuner.com');

    上面的代码中,红色部分就是你需要修改的了,第一个红色部分为你的七牛域名,也就是类似7xxxxx.com1.z0.glb.clouddn.com的一个地址,这个地址如果你自定义了,那么请填写你自定义的地址.第二个红色部分,是你的站点域名.将上面的代码添加到functions.php中的头部位置即可,这个位置大家自己权衡,保存后直接上传覆盖.

    为了检测是否已经生效了,你可以直接刷新网页并且将某个图片鼠标右键查看图片地址即可,有些图片可能还没有刷新过来,可以等待若干分钟之后在检测.如果发现长时间没有反应或者说没有生效,尝试将你的域名添加www

    第二种情况

    第二种情况也是我目前的情况,也就是站点并没有使用ajax评论的,那么根本不存在comments-ajax.js文件,这个时候大家可能就不知道怎么办了.那么现在就来介绍一下解决方法.

    首先附上一段代码:

    if ( !is_admin() ) {
    	add_action('wp_loaded','c7sky_ob_start');
    	
    	function c7sky_ob_start() {
    		ob_start('c7sky_qiniu_cdn_replace');
    	}
    	
    	function c7sky_qiniu_cdn_replace($html) {
    		return str_replace('[这里填写博客路径]', '[这里填写七牛空间路径]', $html);
    	}
    }

    上面这段代码是最直接的将你的上传路径里面的所有文件全部上传到七牛空间里面去,那么两个路径应该填写:http://www.banyuner.com/wp-content/uploads/以及http://7xxxxx.com1.z0.glb.clouddn.com/wp-content/uploads/ 看到这段代码可能有人会问了,为什么七牛空间的路径后面还要添加一个路径呢,这个原因我目前只能理解为对应,我也在原博客看了一下,博主也是这么解释的.那么有些人只想上传部分类型的文件,这个时候就需要第二段代码了:

    function c7sky_qiniu_cdn_replace($html){
    	$local_host = 'www.banyuner.com/'; //博客域名
    	$qiniu_host = '7xxxxx.com1.z0.glb.clouddn.com'; //七牛域名
    	$cdn_exts   = 'js|css|png|jpg|jpeg|gif|ico'; //扩展名(使用|分隔)
    	$cdn_dirs   = 'wp-content|wp-includes'; //目录(使用|分隔)
    	
    	$cdn_dirs   = str_replace('-', '\-', $cdn_dirs);
    
    	if ($cdn_dirs) {
    		$regex	=  '/' . str_replace('/', '\/', $local_host) . '\/((' . $cdn_dirs . ')\/[^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
    		$html =  preg_replace($regex, $qiniu_host . '/$1$4', $html);
    	} else {
    		$regex	= '/' . str_replace('/', '\/', $local_host) . '\/([^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
    		$html =  preg_replace($regex, $qiniu_host . '/$1$3', $html);
    	}
    	return $html;
    }
    

    这段代码的使用方式是将之前的:

    function c7sky_qiniu_cdn_replace($html) {
    		return str_replace('[这里填写博客路径]', '[这里填写七牛空间路径]', $html);
    	}
    

    整体替换成代码二,至于代码二中的代码信息如何填写,原作者已经写得很明确了,如果你不想js或者css上传的话,请直接将其删除即可.

    这里注意:代码一以及代码二中的地址经过我测试并不需要添加http://,至少我的站点是不需要添加的,大家可以自行测试一下

    总结

    启用七牛CDN某种程度可以减少你的流量,但是如果你的站点以文字为主,那么这个插件的作用能不是很大,以为很多站点主要是图片多,所以只用这个方法,但是文字居多的博客,这个方法带来的效果不是很大.

    关注我们 打赏 分享此文
    微信扫码,关注我们
    扫码,支持我
    WordPress七牛冲突解决办法[两种情况]
    支付宝(点击图片切换)
    扫码,支持我
    WordPress七牛冲突解决办法[两种情况]
    微信(点击图片切换)
    扫码,手机看
    WordPress七牛冲突解决办法[两种情况]
    匿名

    个人评价:┃草根博主┃站点无技术含量┃文章内容不够吸引人┃转载内容随处可见┃资源均来自网络┃ 分享是我的宗旨,也是这个站点存在意义,分享的东西你现在可能不需要,但是我相信只要在某个时间你需要的时候能在这里找到,那么我就是成功的

    相关推荐

    • wp_reset_postdata和wp_reset_query的作用与区别

      wp_reset_postdata和wp_reset_query的作用与区别

      wp_reset_postdata的作用 wp_reset_query的作用 wp_reset_postdata和wp_reset_quer...

      点击查看
    • 折腾的背后都是时间和精力的消耗

      折腾的背后都是时间和精力的消耗

      前段时间将站点内的功能进行了部分正好并且功能都在后台设置了开关,虽然设置了开关之后就可以自由的开启或者关闭,但是现在出现了很多问题,我暂且不...

      点击查看
    • WordPress注册用户重置密码链接失效问题解决办法

      WordPress注册用户重置密码链接失效问题解决办法

      这个问题已经出现了一段时间了,但是我并没有去管它,但是随着注册的用户有所增加,所以我也开始重视这个问题了,那么这个问题的表现形式为什么呢?下...

      点击查看
    WordPress七牛冲突解决办法[两种情况]
    0 + 6 =
    • 昵称 (必填)  
    • 邮箱 (必填)
    • 网址 (选填)