插件推荐: Quick Comments
Quick Comments 是一个十分强大的 WordPress 评论插件, 它用到了 jQuery, 使用 AJAX 提交和更新评论, 还可以向评论者的邮箱或 Twitter 发送新评论通知. 选项灵活并且用户体验极佳.
该插件目前支持 classic, default, easyall, k2, sandbox 等多个著名的主题. 如果想要另它支持你的主题, 可能需要修改一下, 如 iNove 可以修改如下:
1. 打开 quick-comments.php, 并找到 149 行. (0.6.2 版)
2. 追加以下代码:
1 2 3 4 5 | elseif ( preg_match('/^inove/i', $template) ) { $this->options_default['form'] = 'form#commentform'; $this->options_default['list'] = 'ol#thecomments'; $this->options_default['editReturn'] = '#comment-%ID%'; } |
目前用 AJAX 提交评论的插件很多, 但这个插件的操作原理有些不一样. 评论提交后, 并不是在客户端直接生成新的评论, 也不是从服务器端返回格式化的最新评论. 而是在服务器端调用 comments_template() 方法生成整个评论内容, 然后进行提取并返回整个评论列表.
这样处理好坏参半, 却成了一个难以协调的矛盾, 且听我慢慢道来.
好处: 不用对新评论定义格式, 代码齐整, 外观好看, 使用方便.
坏处: 返回的文本信息很多, 当文本足够长的时候, 处理可能被中断掉, 客户端什么响应都没有, 用户体验坏极了. (当你的某篇文章有 500 条评论时, 这样的事情就可能发生了)
返回文本过长的问题其实可以解决, 怎么解决? 使用 WordPress 2.7 的评论分页功能. 也就是说, 每页的评论数是受限的, 所以可以防止返回文本过长问题. 如果你需要这样的效果, 也需要对插件稍微修改一下:
找到 comments_template(); 并修改为以下代码:
1 2 3 4 5 6 7 | if (function_exists('wp_list_comments')) { global $wp_query; $wp_query = &query_posts($query); comments_template('', true); } else { comments_template(); } |
但这样修改还是有缺陷的, 也就是前面说的难以协调的矛盾. 如某文章有 5 页评论, 如果你在第 5 页进行评论, 那一切安然, 但如果你到 1~4 页进行评论, 将得不到响应, 你得跑到第 5 页才能见到你的评论. 如果想知道是不是, 不妨在我的博客上找篇文章试试.
该插件选项细化程度很高, 很灵活, 但我觉得作者在选项处理方面做得有点过了, 刚开始使用有点乱, 不过这并不影响它成为一个强大而好用插件. 我刚刚为这个插件做个简体中文语言文件, 明天 review 一下再发给作者吧.
最后, 感谢研发该插件的日本友人をかもとさん, 下载地址如下:
http://wppluginsj.sourceforge.jp/quick-comments/
2008/12/12 补充内容:
1. 这个插件只会处理日志文章的评论提交, 如果你想在页面或者其他支持评论的页面也使用, 那要简单修改一下. 在 quick-comments.php 文件中查找 is_single() && !$this->isKtai(), 一共有三处, 全部改为 (is_single() || is_page() || $withcomments) && !$this->isKtai()
2. 如文中所说, 该插件有个缺陷, 不能跨页显示提交的评论. 如果你的文章为零, 而你在评论列表内为此创建一个提示, 那么第一篇评论也不会被显示出来. 为什么呢? 因为插件在 JavaScript 中要对服务器的应答进行检测, 如果更新条目不改变, 那么就只插入提交的评论了 (但这里它抓不到最新提交的评论). 也就是说, 只要我们不要 check 就可以了.
在 quick-comments-0.6.1.js 中你可以找到 if (jQuery('input#update', form).size() > 0 ) 这样的判断条件, 当更新条目大于零时就更新, 否则进行插入处理. 你只要改一下这个逻辑, 让他在任何时刻都更新就 OK 了. 最后你还得对应着修改 quick-comments-0.6.1.min.js 这个压缩包文件 (其实只要修改这个就可以了). 如果你不懂程序, 或者比较懒, 那么你直接下载我的替换上去也可以. 下载地址 (请下载最新版本的插件)
2008/12/15 补充内容:
中文语言包: quick-comments-zh_CN.zip (新版本中已经集成该语言包)
test
在你的Elegant Box这款主题中用貌似有点问题。
这个插件能用在2.7的版本上吗?
@momo
当然可以了
收藏了 ~~~ 不错 纲要找一个留言插件
elegant box 用户测试。。
非常喜欢你的inove主题,但有一个小小的建议,能否在以后的版本中添加:邮件订阅回复 功能。谢谢。
@wonsore
这个不应该是主题的功能吧?用插件就可以简单的实现了!
xiaorsz 正解!
并不是所有人喜欢被人家邮件骚扰的.
@mg12
因为我的网站偏重于交流,有的朋友问了问题以后期待我的回答,但没有邮件订阅的话,朋友们就不晓得我回答了没有,这个不太方便,当然我有点太苛求了。只是小小建议呵呵。
@wonsore
用插件不就行了.... 囧.
装过几个,都和inove不兼容,无法使用,郁闷。
@wonsore mail to comment 插件很不错,只需稍微改一下comment.js文件就可以很好的兼容!!推荐你用下!
不知老大如何解决留言回复再编辑的问题?
@wonsore
这个的确很好用
@chabo
兼容! 推荐插件列表上有写呢.
像本文这样的效果是用什么插件:
-----------------
2. 追加以下代码:
1
2
3
4
5
elseif ( preg_match('/^inove/i', $template) ) {
$this->options_default['form'] = 'form#commentform';
$this->options_default['list'] = 'ol#thecomments';
$this->options_default['editReturn'] = '#comment-%ID%';
}
--------------
就是要做到代码有颜色的。
呵呵
谢谢啦。
@James
WP-Syntax 插件是也!
@mg12
谢谢
Quick Comments没有reply/quote的功能吧?mg12你是怎么怎么做到的呢?
@disinfeqt
那是我主题的功能.
mg12大大我的博客樓層怎麼都顯示 #1
因為有安裝quickcomments
所以不管回覆幾次樓層都是#1
只有刷新之後才回變回正常順序
這是什麼原因呢???
http://sbck.co.cc
@deriek
好像我没这样的问题, 下次我查看一下, 谢谢.
(不过每个分页的第一个是 #1 是正常的, 我博客的主题经过特殊处理的)
有空到我那試試是什麼原因好嗎~~
還有我有安裝圖片驗證
如果是訪客第一次回覆的話沒問題
但第二次就不行了~~因為圖片並沒有刷新阿~~怎麼會這樣呢
用上了插件,非常不错。
@deriek
因为插件没刷新整个页面, 注定不能兼容的, 除非这个插件集成图片验证功能.
请问一下,在我的网站里不能正常使用,出现一个空白页面显示下面的内容,是什么意思?应该怎么调整?已经启用了你推荐的插件了。网站地址:http://www.3cdma.com
“2009年2月24日22:37 | #1
回复 | 引用
您的评论需要经过管理员审核通过后才会生效.
再测试评论
本文目前尚无任何 trackbacks 和 pingbacks.
Comment count:2
Output comment count:1
Last comment only:TRUE”
@mannings
你想表达什么意思? 可以说清楚一些吗?
就是插件在我网站上不太正常。在你这边是ajax切换,但在我网站上,会自动跳转到一个页面,提示成功,但是最后不会跳回来,但实际上评论已经成功了。是不是缺少了什么东西?
麻烦你去这个页面试试发表评论看看:http://www.3cdma.com/article/sf-express.html
我是wp2.7,主题是inove,已经安装了quick commnets,请问为什么我添加评论后不能直接显示而是要自己刷新才能看到评论呢
How to make the submit comment button can submitted by pressing Ctrl+Enter?
Awesome plugin, anyway! I like it...
Help pls I've got an error like this :
Warning: Invalid argument supplied for foreach() in /home2/gilangra/public_html/wp-content/plugins/quick-comments/notify-comment-author.php on line 107
How to fix it, sir?
Reply my two comments above, please...
為什麼我會出現
訊息: 'quickCommentsL10n' 未被定義
行: 12
字元: 53
程式碼: 0
URI: quick-comments-0.7.0.min.js
werwer
送出評論後出面沒有字元的對話框..然後也是要刷新畫面才會看到新的評論
3q 很好,很强大!不需要修改主题
我试试看是不是真的只能在最后一页显示
你好,老师,您的留言板是用Quick Comments吗?
真的很漂亮,我想做出这个效果,能指点一下,谢谢了!