調校有趣的外掛Facebook Comments for WordPress運用臉書的留言板

為什麼ㄚ琪需要做調校呢?不知各位有沒注意到幾天前ㄚ琪的工作達人置頂文章的第一篇都會重複一次,那時ㄚ琪也很沒在意覺得是WordPress一直更新的小bug,所以也沒再管。

另一個問題是本來是以更新日期來做倒序的,現在也失效了,不過ㄚ琪也沒在意。

直到ㄚ琪覺得工作達人慢得很啊,才想到要好好整理一下了,首先就針對上述兩個問題做解決,一直看說是不是佈景主題是舊版的關係,懷疑是

global $query_string;
query_posts($query_string.’&orderby=modified’);
query_posts($query_string);

造成的,我去查了一下原始碼,也不是一下下,真的是很像大海撈針說,終於發現了這段話

* The ‘query_string’ filter is deprecated, but still works. Plugins should
* use the ‘request’ filter instead.

看起來已經不鼓勵query_string的使用了,好吧,改

global $wp_query;

$args = array_merge( $wp_query->query, array(‘orderby’ => ‘modified’,’order’ => ‘DESC’));
        query_posts( $args );

改成這樣總可以了吧,結果假設錯誤,失敗,真是超囧的。

又摸了很久,因為在WordPress的官網上,有說query_post的問題都說是,一開始不相信,後來只有把外掛全部停用,一個個測試了,果不其然地找到了竟是Facebook Comments for WordPress的問題,這下終於柳暗花明了,但ㄚ琪也不太想放棄這個外掛,才剛找到好用的怎可輕言放棄,於是乎debug一下函式,發現蟲子了,在facebook-comments-display.php裡有這樣一句

wp_reset_query(); # so is_home always works

哇咧,這會把我的$wp_query reset掉說,而且作者的程式碼中也有一隻是把wp_reset_query(); 給註解掉,好吧,也不知會不會影響程式,就註解掉吧,傑克很神奇,ㄚ琪上面的兩個問題就沒了,看來有對症下藥。

好了,另外發現的一個問題就是,Facebook Comments for WordPress不能留言說,咦,真是問題多多啊,重看作者的網站說明

<script src="http://connect.facebook.net/en_US/all.js" type="text/javascript"></script>

作者要我們檢查一下是否有超過一個以上的script的使用,沒錯,ㄚ琪最近又加了個Facebook Like Box外掛的使用,所以就多了這個script了,只好改其中一個程式不要讓script重複出現,終於工作達人又恢復平靜的一天。

今天5/6網誌排行又向前邁進到177了,給個讚吧!

2011-05-06_082135

下次目標就是打敗朱雀の鳥窩 (RV Camp Blog)擠進170名內了,加油。

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *