评论是博客的重头戏,也是 WordPress 中比较重要的功能。本文主要介绍如何配置 WordPress 原生的评论功能、如何定制评论表单以及一些第三方评论管理工具。

配置评论功能

访问仪表盘-> 设置-> 讨论 (Discussion),你会看到一系列评论相关的设置,大体分为以下几个部分:

默认文章设置
– 是否允许评论,是否允许 Pings(trackback 和 pingback),这些设置可以被每篇文章中的设置覆盖。

其他评论设置
– 评论表单相关,

何时发送电子邮件
– 邮件提醒,帮助管理员管理评论

在评论显示之前
– 评论审核机制

评论审核
评论自动审核规则设置

评论黑名单
设置通过 IP 地址或关键字识别垃圾评论的规则

头像
– 评论头像设置。 WordPress 的评论头像是依靠电子邮件地址来产生的,到 gravatar.com 注册并上传头像,你就可以在任何 WordPress 博客通过填写电子邮箱使用自己全球通用的头像了。

WordPress 默认的评论设置比较合理,你可以根据自己的需要修改,但需要注意几个地方:

1. 启用评论嵌套,最多嵌套 5 层,注意不要嵌套层数过多,会出现性能问题,无限嵌套评论是不可取的。

2. 分页显示评论,当评论太多时,分页很有用处。你可以这样设置分页:

分页显示评论,每页显示 20(这个随意) 条评论,默认显示最后一页
在每个页面顶部显示新的评论

解释:评论总是按照时间顺序排序的,分页只是将他们分割到不同页面,不会让本该在最后一页的评论显示到第一页。但你可以通过设置 「在每个页面顶部显示新的/旧的评论」 来改变每一页的评论排序。

WordPress 评论默认的分页导航是 「上一页」 、 「下一页」 的形式,如果你更喜欢数字导航,可以通过修改模板来达到目的。以 twentyeleven 主题为例,找到 comments.php 文件第 41 行

默认导航代码

1
2
div class="nav-previous"><?php previous_comments_link( __( '&larr; Older Comments', 'twentyeleven' ) ); ?></div>
<div class="nav-next"><?php next_comments_link( __( 'Newer Comments &rarr;', 'twentyeleven' ) ); ?></div>

修改为

1
<div class="comments-nav"><?php paginate_comments_links( array('prev_text' => '«', 'next_text' => '»') ); ?></div>

这里用到了 WordPress 原生的函数 paginate_comments_links()

修改评论表单

WordPress 评论表单默认有四项:昵称 (Name) 、电子邮箱 (Email 、网站 (Website) 、评论内容 (Comments) 。

如果后台设置用户必须填写姓名和电子邮箱才可以发表评论,那么前两项是必填项目。网站在任何情况下都是可选的,但很多不懂的用户会认为网站也是必填的,于是随便写个字符串进去。更多情况下,到处发垃圾评论的人更是对网站这一项青睐有加。

如果你不喜欢让 「网站」 这一项给你制造垃圾留言、迷惑那些不了解的用户,可以去掉这一项。方法很简单,在主题的 functions.php 中写如下代码:

1
2
3
4
5
6
7
8
function url_filtered($fields)
{
  if(isset($fields['url']))
    unset($fields['url']);
  return $fields;
}
 
add_filter('comment_form_default_fields', 'url_filtered');

你甚至可以只保留用户名和评论这两项,让留言框干净利落。

1
2
3
4
5
6
7
8
9
10
function url_filtered($fields)
{
  if(isset($fields['url']))
    unset($fields['url']);
  if(isset($fields['email']))
   unset($fields['email']);
  return $fields;
}
 
add_filter('comment_form_default_fields', 'url_filtered');

简单的留言框会让那些真正需要留言的用户发表评论,让 spam 评论者对你的网站绝望。

过滤垃圾评论

WordPress 官方的反垃圾评论插件叫 Akismet,已经包含在 WordPress 的安装中。使用方法很简单,访问仪表盘-> 插件->Akismet 配置,Akismet 要求输入一个 Akismet API Key,只要你有电子邮箱,就可以申请到 API Key,并且可以用在多个 WordPress 网站上。

注册 AKISMET

访问这里注册

Akismet 提供免费和收费版本,个人版本是免费的,注册时记得选择 Personal 。

akismet注册

默认的设置是提供 $36 美金的捐赠,如果你不想捐赠,把右侧那个滑动条拖拽到最左边就可以了,小人不高兴你就不用付费了。

你可以安装第三方提供的反垃圾评论插件,例如国人喜欢用的 WP Anti Spam

第三方评论服务提供商

当然,如果你不喜欢自己去修改 WordPress 的评论框,如果你发现 Ajax 留言、数字分页甚至社会化分享等功能让你头疼,可以通过安装第三方评论服务插件解决这一系列问题。

比较有名的第三方评论服务提供商:

评论啦 pinglun.la

  • 评论数据存储在评论啦的服务器上,可以一键写会本地数据库
  • 保留 WordPress 原生的审核机制,在此基础上有一定的扩展
  • 社会化分享评论

评论啦

多说 duoshuo.com

  • 以微博的理念设计,数据同步写会 WordPress,但在同步方面还有很多问题
  • 通过 Akismet 过滤垃圾评论,不支持 WordPress 原生的审核机制,过滤人工垃圾留言效果不理想
  • 社会化分享评论

多说评论