wordpress使用七牛CDN导致AJAX评论提交错误解决方案

之前本站使用的是多说的评论插件(虽然也没什么人评论-.-)。今天在改回主题自带评论样式后,测试了下评论提交,发现提交不了了。提示:{“error”:”get from image source failed: E405″}。在求教度娘后找到了问题所在。

网上提供的方法:在自己的主题下 js文件找到comments-ajax.js这个文件,找到如下代码:

var i = 0, got = -1, len = document.getElementsByTagName(‘script’).length;
while ( i <= len && got == -1){
var js_url = document.getElementsByTagName(‘script’)[i].src,
got = js_url.indexOf(‘comments-ajax.js’); i++ ;
}

添加一段代码:

js_url = js_url.replace(‘七牛的域名’,’你的域名’);

添加后的完整代码为:

var i = 0, got = -1, len = document.getElementsByTagName(‘script’).length;
while ( i <= len && got == -1){
var js_url = document.getElementsByTagName(‘script’)[i].src,
got = js_url.indexOf(‘comments-ajax.js’); i++ ;
js_url = js_url.replace(‘cdn.xhsay.com’,’www.xhsay.com’);
}

其中cdn.xhsay.com,和www.xhsay.com分别改为你的七牛和网站地址,改完后上传即可。其次需搞定七牛的镜像缓存。

但是由于我使用的是知言博主的Tinection主题,作者在制作时压缩了comments-ajax.js文件,并且改了文件名和路径:themes/tinection/includes/js/function.js,无法找到明显的此类标识符,修改太困难了。故以上方法不适用。

经过半个小时的上网找资料研究,最后终于找到了其它方法。打开七牛插件目录wp-content/plugins/wpjam-qiniu/,找到wpjam-qiniutek.php文件打开,定位至100行return $html前,插入以下代码:

$html = str_replace('http://cdn.xhsay.com/wp-content/themes/tinection/includes/js/function.js', 'https://static.xhsay.com/wp-content/themes/themes/tinection/includes/js/function.js', $html);

其原理是插件已经修改静态文件原目录至CDN目录,我只需要再把comments-ajax.js(function.js)这一个文件的目录改回来即可,其中第一个路径是CDN服务器上comment-ajax.js(function.js)的路径,需要把它替换为第二个路径,即网站原文件路径,具体路径请根据你自己的网站作修改,这样既体验了七牛CDN,又不用愁AJAX评论错误的问题了。

人已赞赏
WordPress建站

介绍八个无价的WordPress插件

2021-3-10 7:07:19

WordPress建站

WordPress发布新文章邮件通知所有用户和访客代码

2021-3-10 7:07:28

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索