摘要:功能是個好功能,但是在下載的插件包中發現了一些,而且在使用步驟以及文件注釋中作者并沒有提及這些,想聯系作者,但是始終找不到作者的聯系方式,那只有自己修改了。資源優化之后的插件包,點我下載
HelloChangYan原文是在我自己博客中,小伙伴也可以點閱讀原文進行跳轉查看,還有好聽的背景音樂噢~
HelloChangYan是一個typecho的暢言評論回推插件,顧名思義就是在網站中使用了暢言評論之后,把評論內容以及一些參數數據回推到網站,達到網站評論和暢言同步的效果。
功能是個好功能,但是在下載的插件包中發現了一些BUG,而且在使用步驟以及文件注釋中作者并沒有提及這些,想聯系作者,但是始終找不到作者的聯系方式,那只有自己修改了。主要有兩點
路徑問題,導致出現500報錯
字符串替換問題,導致評論數據插入評論表異常
下面就談一下出現bug的地方和改善方法
問題以及改善問題都是出現在feedback.php文件中,先看一下這個文件的源碼:
上圖為feedback.php的源碼截圖,我在圖中做了標記的1、2兩處就是需要修改的地方。
修改路徑第一處:
require_once dirname(__FILE__) . "/config.inc.php";
上述這段代碼的意思是引入在當前目錄中的config.inc.php文件,但是在我們的目錄列表中并沒有找到這個文件,回想一下,config.inc.php這個文件好像就是typecho的配置文件,作者的真正意圖應該是想要引入這個文件,所以我們修改為:
require_once "../../../config.inc.php";
讓它去項目根目錄找到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字段得到。
注意:在 - 命中水中的—左右各有一個空格,不要漏了;
做完上述工作,再把代碼簡單優化一下,差不多就是這個樣子:
以上就是這次發現的問題和優化方法,我已經打包好了,放在文章末尾資源目錄下,需要的可以去下載;
使用說明找到這個插件的地方幾乎都配有使用步驟描述,但是描述基本上都是零散或者不全面的,我把這些整理總結了一下,放在下面,第一次使用的小伙伴可以作為參考:
先把HelloChangYan插件上傳到typecho的usr/plugins目錄下
把HelloChangYan目錄里的comments.php文件復制到現在正在使用的主題目錄下,替換掉comments.php
去暢言官網注冊一個賬戶,并在后臺首頁得到暢言秘鑰,APP ID和APP KEY
登陸typecho的博客后臺主頁,在插件列表里啟用HelloChangYan,并打開設置,在設置頁的暢言appid和暢言appkey文本框中填寫,上一步驟獲取的APP ID和APP KEY
在設置頁可以看到回推地址,這個文本框中有一串url,這個url就是暢言推送評論的回推地址,復制這個鏈接,然后進入暢言后臺,找到系統設置->通用設置->高級設置,在評論回推地址的文本框里填寫剛剛復制的回推地址,點擊確定,并下拉到頁面最底部,保存設置。
上面都配置好之后,回到HelloChangYan的設置頁,在最后一個選項中,啟用暢言即可。
以上就是這款插件的使用說明了。
資源優化之后的HelloChangYan插件包,點我下載
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/25660.html
摘要:由于是一個用于個人的博客系統,所以其設計之初就不支持過大的數據量。在表數據量較大的情況下,表可能會容易損壞或者索引丟失,尤其是引擎。 由于Typecho是一個用于個人的博客系統,所以其設計之初就不支持過大的數據量。但最近不少朋友向我求助,希望用typecho來搭建數據量較大的商業網站(譬如外貿團隊),于是有了修改typecho使支持大量post的想法,最終實現了HPTypecho(Hi...
摘要:此文原本發表于我的博客老高的技術博客,歡迎和老高交流此篇我們開始調用接口,我們在插件類中新定義一個方法,起名為,在方法中我們通過系統配置獲取接口調用地址。 此文原本發表于我的博客 老高的技術博客 ,歡迎和老高交流! 此篇我們開始調用接口,我們在插件類中新定義一個方法,起名為send_post,在方法中我們通過系統配置獲取接口調用地址。 百度給的例子中使用了php的CURL,更...
摘要:基于使用多種數據庫儲存數據,在許可證下發行的開源程序,使用做版本管理。精簡的是代碼架構運行效率,在功能擴展性和安全性方面絲毫沒有打折扣。解析器,這是這一版新引入的解析器,也是正在使用的,主要可以保證和渲染的嚴格一致性。 showImg(https://segmentfault.com/img/bVSHIC); 在 8 月 22 日晚 20:00 的講座 【Typecho 那些事(上)】...
摘要:看起來很簡單吧其實里面還是有不少坑的。激活插件方法如果激活失敗直接拋出異常禁用插件方法如果禁用失敗直接拋出異常獲取插件配置面板配置面板個人用戶的配置面板插件實現方法插件流程插件的基本流程是這樣的。下一節老高會更詳細的說明插件類的方法。 最近老高正在編寫一個關于typecho的插件,由于typecho不像wordpress,有那么多的文檔參考,寫一個插件還是遇到了很多的坑,不過隨著研究的...
摘要:此文原本發表于我的博客老高的技術博客,歡迎和老高交流之前啰嗦了很多,現在開始寫核心代碼。至此我們已經拿到了文章的永久鏈接,下一步就是給百度服務器發送數據了本節完 此文原本發表于我的博客 老高的技術博客 ,歡迎和老高交流! 之前啰嗦了很多,現在開始寫核心代碼。 分析一下,發布文章的時候,我們需要的信息就是當前文章的URL,我們需要想辦法從$contents、 $class中拿到他。...
閱讀 2651·2021-11-22 15:24
閱讀 1384·2021-11-17 09:38
閱讀 2759·2021-10-09 09:57
閱讀 1210·2019-08-30 15:44
閱讀 2449·2019-08-30 14:00
閱讀 3550·2019-08-30 11:26
閱讀 2942·2019-08-29 16:28
閱讀 757·2019-08-29 13:56