跳到主要内容

最近,我们的一位用户询问是否可以在WordPress中允许匿名评论。默认情况下,用户必须在评论表单中提供名称和电子邮件地址,才能在WordPress中留下评论。在本文中,我们将向您展示如何允许用户在WordPress中发布匿名评论。我们还将向您展示如何从WordPress评论表单中隐藏名称和电子邮件字段。

别名:理想的解决方案

WordPress中限制匿名垃圾邮件的同时允许匿名评论的最佳方法是鼓励用户使用化名或昵称代替真实姓名。

这使您可以建立社区,同时仍然允许用户匿名。用户仍然必须提供一个电子邮件地址,但是无论如何,大多数想留下匿名评论的人都有单独的电子邮件。

您可以在评论政策中进行交流,并在评论表格上方放置醒目链接。

虽然这是理想的解决方案,也是我们建议的唯一解决方案,但还有其他解决方案可以允许进一步匿名。但是,添加的匿名性越高,垃圾邮件的数量就越高。

将名称和电子邮件设为可选

您可以添加的下一层匿名性是使名称和电子邮件字段完全可选。没有昵称或其他任何内容。如果用户仅提交不带名称和电子邮件的评论,它将通过。让我们看一下如何使名称和电子邮件字段完全可选。

您需要做的第一件事是转到“设置”»“讨论”,然后取消选中“评论作者必须填写姓名和电子邮件”选项旁边的框。现在,您需要保存所做的更改,您的站点将准备好接受没有名称和电子邮件地址的评论。

如何允许用户在wordpress中发布匿名评论
如何允许用户在wordpress中发布匿名评论

简单地删除此复选框不会告诉您的用户,他们可以在不提供姓名或电子邮件地址的情况下发表评论。您可能希望通过显示姓名和电子邮件字段为可选来传达此信息。我们还建议删除网站URL字段以阻止垃圾邮件。为此,您需要修改评论表单。只需将以下代码复制并粘贴到主题的functions.php文件或特定于站点的插件中。

functionwpb_alter_comment_form_fields($fields) {
// Modify Name Field and show that it's Optional $fields['author'] = '<p class="comment-form-author">'. '<label for="author">'. __( 'Name (Optional)') . '</label> '. ( $req? '<span class="required">*</span>': '') .'<input id="author" name="author" type="text" value="'. esc_attr( $commenter['comment_author'] ) . '" size="30"'. $aria_req. ' /></p>';
// Modify Email Field and show that it's Optional$fields['email'] = '<p class="comment-form-email"><label for="email">'. __( 'Email (Optional)', 'twentythirteen') . '</label> '.      ( $req? '<span class="required">*</span>': '') .      '<input id="email" name="email" type="text" value="'. esc_attr(  $commenter['comment_author_email'] ) .      '" size="30"'. $aria_req. ' /></p>';
// This line removes the website URL from comment form.             $fields['url'] = '';
    return$fields;}add_filter('comment_form_default_fields', 'wpb_alter_comment_form_fields');

该代码只需在您的评论表单中的名称和电子邮件字段旁边添加(可选)。它还会从评论表单中删除网站URL字段。如果要保留网站URL字段,请删除该行代码。您的评论表单如下所示:

如何允许用户在wordpress中发布匿名评论
如何允许用户在wordpress中发布匿名评论

如何从评论表中完全删除姓名和电子邮件

对于那些想要从注释表单中删除名称和电子邮件字段的用户,这是您需要粘贴在主题的functions.php文件或特定于站点的插件中的一小段代码。

functionwpb_alter_comment_form_fields($fields) {    unset($fields['author']);    unset($fields['email']);    unset($fields['url']);    return$fields;}add_filter('comment_form_default_fields', 'wpb_alter_comment_form_fields');

如果您的评论表单显示 您的电子邮件地址不会被发布,那么您可以通过编辑主题的comment.php文件将其隐藏。找到标签<?php comment_form ?>并将其替换为以下代码:

<?php comment_form(array('comment_notes_before'=> '<p class="comment-notes">'. __( 'No name or email address required.') . ( $req? $required_text: '') . '</p>'    ));?>

如果找不到comment_form,则仍可以通过将CSS添加到主题或子主题style.css文件中来隐藏此文本。

.comment-notes {display:none;}

没有名称,电子邮件和网站url字段的情况下,您的评论表单如下所示:

如何从评论表中完全删除姓名和电子邮件
如何从评论表中完全删除姓名和电子邮件

关于匿名评论的警告语

请注意,如果没有姓名和电子邮件地址作为必填字段,您的评论表单将吸引大量垃圾邮件评论。虽然Akismet和Sucuri可能会阻止某些不良IP,但我们强烈建议您进行验证码验证,以防止某些情况。

我们希望本文对您在WordPress中允许匿名评论的决定有所帮助。

回到顶部