用 Google 搜尋:

無聊人的無聊故事

WordPress plugin - Recent Comments and Trackbacks

— by C.H.Weng @ 10:30 下午

Recent Comments and Trackbacks

Introducing

可列出最新評論與引用連結。

Features

  • 可顯示最新評論。
  • 可顯示最新引用連結。
  • 可設定輸出數量。
  • 可設定評論摘要長度。
  • 可正確切割 UTF-8 字元。
  • 自動判斷較短的評論,不再輸出刪節號。
  • 可設定輸出樣式。
  • 可設定是否顯示密碼保護文章的評論。

Requirement

必須要開啟 php 的 Multibyte String Functions (php_mbstring.dll)。

Demo

本站右側選單上就有這個 plugin 的示範效果。

Download

目前版本:0.3

http://www.chweng.idv.tw/downloads/recent-comments-and-trackbacks.zip

Installation

安裝啟用
  1. 將解壓縮出來的 recent-comments-and-trackbacks.php 放到 WordPress 的 plugin 資料夾,預設為 wp-content/plugins。
  2. 在控制台中啟用這個 plugin。
輸出最新評論
  1. 開啟目前使用佈景的相關檔案,例如 sidebar.php。
  2. 在要顯示評論數量的地方,加上這個程式碼:
    <?php recent_comments(10, 20, '<li><a title="評論由 %comment_author% 發表於 %post_title%" href="%comment_link%">%comment_author%</a>: %comment_excerpt%</li>', false, 'comment'); ?>
參數說明
  1. 顯示篇數 - 設定顯示的數量,預設為 10
  2. 評論摘要長度 - 設定擷取的評論摘要長度,預設為 20
  3. 顯示格式 - 設定顯示每筆資料的詳細格式,並有以下變數可供利用:
    • %comment_date% - 按照系統設定,輸出評論日期。
    • %comment_time% - 按照系統設定,輸出評論時間。
    • %comment_link% - 輸出評論連結。
    • %post_title% - 輸出評論所在的文章標題。
    • %comment_author% - 輸出評論作者。
    • %comment_excerpt% - 輸出評論摘要,長度由前一個參數決定。
  4. 是否顯示密碼保護文章的評論 - 預設為 false,只有 true 跟 false 兩種設定值。
  5. 設定評論種類 - 預設為 comment,只有 comment 跟 trackback 兩種設定值。

Version History

  • 0.3:
    • 改善自訂格式的方式。
  • 0.2:
    • 改用 mb_substr 切割字元,必須要開啟 mbstring extension 才能使用。
    • 修正誤切刪節號的實體參照字元(&#8230)可能導致的錯誤。
  • 0.1: 初次釋出

共有 42 條評論

  1. 真是太棒囉,感謝!
    我喜歡功能剛好能符合需求的東西
    不過我自己有做了一點小修改,
    由於裡面的 utf8_trim 會將一個中文字長度視為 3
    在中英文混雜的情況下較不好掌握字數
    所以將 substr 改為 PHP mbstring 提供的 mb_substr
    這樣除了可以正常切割中文字
    且中、英文字長度都算 1 而已,然後 utf8_trim 就刪掉囉
    檔案剩 1.x K

  2. 欸…沒想過可以用 mbstring 處理,晚點來試試看。

    謝謝提供一個新方向囉^^

  3. 辛苦啦XD

  4. 呵,本來要提醒妳的 Function 傳值有問題
    不過看來在判斷是否為 comment 的 SQL 語法做修正
    不然 Select 出來的會是全部的 comment
    Anyway,正常使用中 :)

  5. 不是很瞭……

    可以再詳細說一下可能有什麼問題嗎?

    謝摟~

  6. 抱歉,表達不是很清楚 :p
    我在使用 version 0.1 有下列二點 bug

    [ BUG 1 - 開始]

    在 version 0.1 ,使用下列這段語法時,會將所有 comment 抓出來 (也就是含 Trackback )
    recent_comments(10, 20, '', '', false, 'comment')

    雖然 recent_comments 的參數 type 預設是 comment
    於是在後續僅對 Trackback 做 if($type == ... ),並未對 comment 做過濾才造成會 select 所有的 comment

    但您在 version 0.2 改寫成

    if($type=='trackback') {
    $request.=" AND comment_type IN ('trackback','pingback')";
    } else {
    $request.=" AND comment_type=''";
    }

    這樣就有分出誰是 comment .. 誰才是 trackback 了 :)
    [ BUG 1 - 結束]

    [ BUG 2 - 開始]
    若 select 出來的 commment or trackback 少於傳入的 limit 筆數會造成重覆列印
    假設我傳入 limit 5 筆,但是我只有一筆 trackback ~
    照常理應該是只會印出一筆,但是程式會連續重覆印 5 筆一樣的資料
    後來我將 version 0.1 的 SQL 產生出來,到後端的 MySQL Select 也是同樣問題
    不過一樣,在 version 0.2 也解決了這個問題

    Thanks.

  7. 又一個好東西,感謝!!

    希望能更方便地自訂輸出格式,比方:

    (li)(a href="%comment_link" title="%post_title @ %comment_date %comment_time")%comment_author(/a): %comment_excerpt(/li)

    抱歉用 () 代替 html tag

  8. 這個想法不錯,我剛剛改了一下,程式大約增加了 0.5k 的大小,因此不打算定位為特別版,就直接朝 0.3 版邁進吧!

    想更新到這個版本的話,記得連引用這個 plugin 的佈景檔案也改一下,因為整個格式都已經不同了。

    另外想問一下,有沒有人知道怎麼將 &#8230;(顯示為刪節號)這種字元轉為實際的文字,然後再做切割?
    我目前只將上述的例子替換過來而已,因為這個字元在 trackback 中極為常見。但怕出現其他字元的時候也會有問題,所以想先做防範。

  9. Recent Comments and Trackbacks...

    雖然這裡有提到
    Requirement必須要開啟 php 的 Multibyte String Functions (php_mbstring.dll)。
    不過我不知道這裡有沒有開啟,但我還不管三七二十一的給它用了就是,然後就成功了。
    ......

  10. Plugin to Display Feedbacks...

    小逛了一下 這位仁兄 的網站, 看到這能 輕鬆顯示 comment 與 trackback 的 plugin, 馬上抓下來安裝使用, 沒遇到任何問題.
    好傢伙! 我沒搞錯的話他還是位準牙醫呢. 推!
    ......

  11. 第十一個 comment 那篇 pingback 是從我的網站過來的, 但它並沒有連結到這裡, 看來是個莫名其妙的錯誤.

    請幫忙刪除, 謝謝.

  12. 我已經把 recent comments 拿掉了,改用你的程式,果然是簡單好用,向你說聲謝謝。

  13. 試了一下,很方便的好差件^^

    請問一下,可不可以在單篇文章中運用此插件,
    用來顯示對此文章的最後一篇回應訊息,謝謝 m(_ _)m

  14. 上面po得不太清楚,
    我的意思是:能否在文章標題或下方直接顯示最新一則對此文章回覆的資訊(比如說最新的留言時間)。

  15. 為了不讓 plugin 的功能太過繁複瑣碎,所以目前暫時不考慮加入這個功能。

  16. 瞭解~
    謝謝版主的回應^^

  17. 這款外掛實在是太讚了!是我第一個安裝的 WP 外掛 ^^
    不過使用時發現一點小問題...就是當我的 " WP 網址 " 與 "網誌網址" 不同時
    只要啟用這款套件,我就會無法用 " WP 網址 " 連結認何有用到 themes 的頁面

  18. 呃…你確定是這個套件的問題嗎?因為這個套件應該只會影響到輸出最新留言的那個區塊,應該不至於導致其他的地方失效才對。

    如果確定是的話,麻煩你留一下你的 WordPress 網址和網誌網址讓我試試看,用寫信的方式給我也可以,謝謝啦~

  19. 我也覺得挺奇怪的,本以為是 WP 的問題...
    直到昨晚我才突然發現,一停用竟然就正常了 @@"
    我待會兒就把網址寄給您~~

  20. 幸好解決了,上來跟大家說一下解決的方法吧~~
    把「使用壓縮格式 (gzip) 傳送文章」取消之後竟然就正常了=   ="

  21. 你好,我現在有在用你的 Ajaxified Expand NOW 和 Recent Comments and Trackbacks,想請問一下,這兩個 plugin 能不能在 wordpress 2.1 下使用呢?我在 2.1 的可以用和不可以用的 plugin list 裡都找不到,所以想向你確認。另外,如果不能的話,未來會更新嗎?

    謝謝!

  22. 我自己測試是可以用,不過有人跟我回報說升級到 WordPress 2.1 之後就出問題了,所以目前我還在想辦法確認問題在哪裡。

    原則上我會盡量更新,但是因為太久沒碰 WordPress plugin 的相關資訊了,加上最近空閒時間很少,所以不是很確定能改善到什麼程度……

  23. 謝謝你的回答 :)

  24. 我在 2.1 上也是沒問題的 @@"

  25. \_/ -> 表情是這樣\_/,
    但是在右邊的recent comment開頭的\會不見 @@...
    請問要怎麼解決呢...

  26. 將插件中
    $comment_content=stripslashes($comment_content);
    這一行註解掉就可以了。

  27. 十分感謝!!

  28. 很好用,來跟你說聲謝謝!!

  29. [...] 本文轉載自Recent Comments and Trackbacks [...]

  30. [...] 按照大部分人的喜好,難免會想在右邊的資訊方塊列(sidebar.php)加進最近留言的資訊,由於能做到這個效果的外掛在wordpress有百百種,我以C.H.Weng寫的Recent Comment and Trackback這個外掛為例 [...]

  31. [...] 關於本修改法的詳細說明與設定,請見C.H.Weng兄部落格(請按此)。 [...]

  32. 這個無敵方便的外掛我平常都用得好好的
    昨天就 突然 出現了以下的訊息:

    Fatal error: Call to undefined function: mb_internal_encoding() in /home/XXX/public_html/wordpress/wp-content/plugins/recent-comments-and-trackbacks.php on line 23

    請問一下,這要怎麼解決?

  33. 你把 php_mbstring.dll 的功能取消掉了嗎?請到 php.ini 中重新啟動這條設定吧。

    如果是別人代管的機器,請詢問一下管理員或服務人員看看。

  34. [...] 這位仁兄 的網站, 看到這能 輕鬆顯示 comment 與 trackback 的 plugin, 馬上抓下來安裝使用, [...]

  35. [...] WordPress 的 widgets.php 和各家的 Recent Comments Plugins (包含了 bdp-comments 以及 Recent Comments and Trackbacks) 還有官方的 Codex [...]

  36. [...] Recent Comments and Trackbacks - Wordpress Plugin (In Chinese) - Add a list of recent comments and trackbacks as a list on your sidebar. [...]

  37. very helpful, thanks!:

  38. [...] Recent Comments and Trackbacks - Wordpress Plugin (In Chinese) - Add a list of recent comments and trackbacks as a list on your sidebar. [...]

  39. 謝謝您們 ~~~~

    我在這裡獲益良多唷 ~~~~ ^^

  40. 昨晚得知 mb_strimwidth() 的存在,用這個會不會比 mb_substr() 好呢?
    畢竟中文和英文寬度不同,改用這函式可以讓摘要的長度比較接近
    而且 mb_strimwidth() 還會自動幫你判斷要不要加刪節號耶 XD

  41. 剛剛查了一下,發現這個 function 真是太神奇啦!之前完全不知道有這個功能的存在哩。

    只是,現在有點懶得改版了,還要換版號、重新上傳檔案....zzz 不過還是很謝謝你的教學這樣 m(_ _)m

  42. 我个人在使用wp-recentcomments的时候,主要是喜欢那个去除管理员评论的功能,&administrator=false用这个来控制,不知道是否可以考虑加入这个功能?
    毕竟管理员的评论要远远多于访客的评论,一个不小心整个首页都是自己的话了

發表評論

(必須輸入。)
(必須輸入,但不會公開。)
(選擇性輸入、公開資訊。)

不可以 使用 HTML 標籤;你 可以 使用 BBCode 標籤。
目前支援的標籤: b color email i img size strong u url。

Comment Preview
↑Meta↑
↑Authors↑
↓Search↓
↑Categories↑
↑Recent Posts↑
↓Most Popular Posts↓
↑Recent Comments↑
↓Recent Trackbacks↓
↓Archives↓
↓Themes↓
Powered by WordPress™
Valid RSS & Atom Feed