原文是在我本身博客中,小伙伴也能够点阅读原文进行跳转查看,还有好听的背景音乐噢~php
HelloChangYan是一个typecho的畅言评论回推插件,顾名思义就是在网站中使用了畅言评论以后,把评论内容以及一些参数数据回推到网站,达到网站评论和畅言同步的效果。json
功能是个好功能,可是在下载的插件包中发现了一些BUG,并且在使用步骤以及文件注释中做者并无说起这些,想联系做者,可是始终找不到做者的联系方式,那只有本身修改了。主要有两点app
下面就谈一下出现bug的地方和改善方法typecho
问题都是出如今feedback.php文件中,先看一下这个文件的源码:fetch
上图为feedback.php的源码截图,我在图中作了标记的一、2两处就是须要修改的地方。jsonp
第一处:优化
require_once dirname(__FILE__) . '/config.inc.php';网站
上述这段代码的意思是引入在当前目录中的config.inc.php文件,可是在咱们的目录列表中并无找到这个文件,回想一下,config.inc.php这个文件好像就是typecho的配置文件,做者的真正意图应该是想要引入这个文件,因此咱们修改成:ui
require_once '../../../config.inc.php';url
让它去项目根目录找到config.inc.php并引入,即可解决问题
第二处:
$title = str_replace(' - Hello World', '', $jsonp->title);
由上述代码得知,是去掉 - Hello World
字符串,并获得一个新的字符串,也就是网站中存在的真实的文章标题。这个标题用来查找文章ID,在$rows = $db->fetchAll($db->select()->from('table.contents')->where('title = ?', $title));
这段代码中能够看出。
接上段,实际上畅言返回json数据的title值,并无 - Hello World
字符串,这是什么缘由呢?咱们看一下,畅言实际返回的json数据(以个人网站为例):
从上面title字段中能够看出,返回的title是一个文章标题+文章撰写人的一个组合。经过这点咱们就能够理解了,上面的代码是为了去掉多余的文章撰写人,获得文章标题。咱们须要根据网站中的实际状况进行修正,好比个人标题中返回的撰写人是命中水,那么去掉命中水就能够了。
$title = str_replace(' - 命中水', '', $jsonp->title);
那么如何获取网站撰写人呢?咱们能够先把畅言返回的json数据保存在本地,而后查看title字段获得。
注意:在 - 命中水
中的—
左右各有一个空格,不要漏了;
作完上述工做,再把代码简单优化一下,差很少就是这个样子:
以上就是此次发现的问题和优化方法,我已经打包好了,放在文章末尾资源目录下,须要的能够去下载;
找到这个插件的地方几乎都配有使用步骤描述,可是描述基本上都是零散或者不全面的,我把这些整理总结了一下,放在下面,第一次使用的小伙伴能够做为参考:
系统设置->通用设置->高级设置
,在评论回推地址的文本框里填写刚刚复制的回推地址,点击肯定,并下拉到页面最底部,保存设置。以上就是这款插件的使用说明了。