如何去除 wordpress 评论字段?

wordpress 默认的评论框有三个需要输入的字段: 评论者名称邮箱站点 。之前曾经有这个想法,让评论中不再出现 站点 的输入,这样不但减少了评论者的输入项目,也可以有效的减少仅仅是为了留下外链的评论。甚至于,对于 邮箱 的输入,在国内环境下来说也是极为敏感的,特别是对于个人博客,说不定哪天访客的邮箱就被泄漏了呢。而且,对于已有其他联系方式的站点来说,输入邮箱也是多此一举。所以,现在就让我们把多余的选项给 kill 掉。

首先,到 设置 —— 讨论 里把用户名和邮箱限制去掉,否者即使屏蔽了邮箱选项,依然会提示需要输入邮箱地址。

然后到 外观 —— 编辑 选项,打开 functions.php ,添加如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
//去除评论字段
//需要去除哪个,就把相应的屏蔽打开

function alter_comment_form_fields($fields){
//$fields['author'] = ''; //removes name field
$fields['email'] = ''; //removes email field
$fields['url'] = ''; //removes website field
return $fields;
}
add_filter('comment_form_default_fields','alter_comment_form_fields');

//以上代码为去除邮件地址和网址字段

更新后就可以看到,评论面板只剩下 姓名评论 两个字段了,但还有个碍眼的家伙,那就是面板上 电子邮件地址不会被公开。 的提示信息。

对于这个提示,网上讨论说可以从 comments.phpcomment_form() 函数来修改,也有说可以从 style.css.comment-notes 样式着手。但我在 4.3 版的 twenty fifteen 模版上都无法修改成功,故最后只能修改 wordpress 核心文件。(若直接修改核心文件, wordpress 升级后,需要重新修改。这也是为什么不到迫不得已不要修改核心文件的缘故。)

方法一:

编辑 /wp-includes/comment-template.php 文件,查找 Your email address will not be published ,把代码中的:

1
2
3
4
5
6
7
8
$defaults = array(
...
...
'comment_notes_before' => '<p class="comment-notes"><span id="email-notes">' . __( 'Your email address will not be published.' ) . '</span>'. ( $req ? $required_text : '' ) . '</p>',
'comment_notes_after' => '',
...
...
);

改为:

1
2
3
4
5
6
7
8
$defaults = array(
...
...
'comment_notes_before' => '',
'comment_notes_after' => '',
...
...
);

保存后刷新即可。

方法二:

编辑 /wp-content/languages/zh_CN.po 文件,查找 Your email address will not be published ,把代码中的:

1
2
3
#: wp-includes/comment-template.php:2258
msgid "Your email address will not be published."
msgstr "电子邮件地址不会被公开。"

改成自己想要的提示语,保存刷新即可。

最后,建议安装Akismet插件来防止垃圾评论的肆虐。