您的位置:  首页 » PHP » 如何允许用户在WordPress中发布匿名评论

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

假名:理想解决方案

限制评论垃圾邮件时允许匿名评论的最佳方法是鼓励用户使用假名或昵称而不是真名。

这允许您构建社区,同时仍允许用户匿名。用户仍然需要提供一个电子邮件地址,但大多数想要留下匿名评论的人都会收到单独的电子邮件。

您可以在评论政策中与此相关联,并在评论上方放置一个醒目的链接形成。

虽然这是理想的解决方案,也是我们推荐的唯一解决方案,但还有其他解决方案可以进一步匿名。但是,您添加的匿名越多,您的垃圾邮件就越高。

使名称和电子邮件可选

您可以添加的下一个匿名层是使名称和电子邮件字段完全可选。没有绰号或任何东西。如果用户只提交没有姓名和电子邮件的评论,它将会通过。让我们来看看如何使名称和电子邮件字段完全可选。

您需要做的第一件事是转到设置»讨论并取消选中下一个框到‘评论作者必须填写姓名和电子邮件’选项。现在您需要保存更改,您的网站将准备好接受没有姓名和电子邮件地址的评论。

Disable name and email address as required fields in WordPress comment form

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

function wpb_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字段,请删除该行代码。以下是您的评论表格的样子:

Comment form showing name and email address as optional fields in WordPress

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

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

function wpb_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");

如果您的评论表单显示为您的电子邮件地址将不会发布 text,那么您可以通过编辑主题的comments.php文件来隐藏它。找到标签&lt;?php comment_form?&gt; 并将其替换为此代码:

<?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;
}

这是您的评论表单没有名称,电子邮件和网站网址字段的样子:

Comment form without name, email and URL fields

关于匿名评论的警告词

请注意,没有姓名和电子邮件如果需要填写地址,您的评论表将吸引大量垃圾评论。虽然Akismet和Sucuri可能会阻止一些不良IP,但我们强烈建议您使用验证码验证来防止其中的一些。

我们希望本文能帮助您决定是否允许在WordPress中进行匿名评论。我们介绍了很多评论形式的样式,所以如果您想了解更多,请查看我们的评论版面设计指南。

如果您喜欢这篇文章,请在Google+和YouTube上关注我们。

1 thought on “如何允许用户在WordPress中发布匿名评论”

评论被关闭。