如何在 WordPress 中完全禁用评论(终极指南)
你想知道如何完全或部分关闭 WordPress 评论吗?
虽然评论是吸引网站访问者的好方法,但您可能出于多种原因不想在您的网站上发表评论。您可以通过多种方式禁用评论,从仅在特定帖子、页面或自定义帖子类型上禁用评论,甚至从整个网站中完全删除评论。
在本文中,我们将向您展示如何在 WordPress 中禁用评论的分步过程。
为什么要在 WordPress 中禁用评论?
您可能想要关闭特定帖子或页面上的评论或禁用整个网站上的评论的原因有很多。
例如,博主可能会发布某些帖子,例如他们不想允许评论的公告。在这些情况下,您可以轻松地禁用对这些特定帖子或页面的评论。
许多小企业主使用 WordPress 来创建他们的网站。这些商业网站通常没有博客部分,大多有静态页面,如服务、关于我们、联系方式等。在这种情况下,允许评论根本没有意义。
另一种常见情况是一些商业博客选择完全禁用评论以防止垃圾邮件。尽管您始终可以使用垃圾邮件防护技术(我们将在本文后面分享),但禁用评论部分肯定会解决问题。
无论您的原因是什么,您当然可以禁用评论,甚至完全从您的 WordPress 网站中删除评论部分。
以下是您将在本文中学到的内容的快速概述:
- 完全禁用评论
- 禁用对未来帖子的评论
- 禁用对特定页面或帖子的评论
- 批量禁用对页面和帖子的评论
- 删除所有 WordPress 评论
- 禁用对媒体的评论
- 使用插件在全站禁用 WordPress 评论
- 删除 WordPress 中的“评论已关闭”
- 垃圾邮件防护技术
前几种方法将解释如何在不使用插件的情况下禁用页面、帖子或媒体上的评论。稍后我们将解释如何借助插件从您的WordPress 博客中删除评论部分。
话虽如此,让我们来看看在 WordPress 中禁用评论的各种方法。
完全禁用评论
完全禁用评论并从管理面板以及您网站的前端删除所有与评论相关的功能非常容易。
免费的WPCode 插件带有一个预配置代码片段库,您可以使用“完全禁用评论”片段从您的站点中删除它们的所有痕迹。
只需安装并激活WPCode,然后导航到WordPress 管理面板中的代码片段 » 库。在这里,您可以搜索“完全禁用评论”并将鼠标悬停在名称相同的结果上。
然后您可以点击“使用代码段”。

然后 WPCode 会将您带到“编辑代码段”页面,插件已经为您配置了所有内容。
您需要做的就是将开关切换到“活动”,然后单击“更新”。

现在,WPCode 将禁用您网站上所有与评论相关的功能。
如果您希望从站点中手动删除所有评论,可以将以下代码粘贴到主题的 functions.php 文件中。这应该只由高级用户完成,因为编辑您的核心 WordPress 文件很容易破坏您的网站。
add_action('admin_init', function () {
// Redirect any user trying to access comments page
global $pagenow;
if ($pagenow === 'edit-comments.php') {
wp_safe_redirect(admin_url());
exit;
}
// Remove comments metabox from dashboard
remove_meta_box('dashboard_recent_comments', 'dashboard', 'normal');
// Disable support for comments and trackbacks in post types
foreach (get_post_types() as $post_type) {
if (post_type_supports($post_type, 'comments')) {
remove_post_type_support($post_type, 'comments');
remove_post_type_support($post_type, 'trackbacks');
}
}
});
// Close comments on the front-end
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);
// Hide existing comments
add_filter('comments_array', '__return_empty_array', 10, 2);
// Remove comments page in menu
add_action('admin_menu', function () {
remove_menu_page('edit-comments.php');
});
// Remove comments links from admin bar
add_action('init', function () {
if (is_admin_bar_showing()) {
remove_action('admin_bar_menu', 'wp_admin_bar_comments_menu', 60);
}
});
禁用对未来帖子的评论
如果您刚刚启动您的 WordPress 网站,您可以轻松地停止对您以后的帖子发表评论。
为此,请从 WordPress 管理面板的左侧栏转到设置»讨论。
在此页面上,您需要取消选中“允许人们对新文章发表评论”选项,然后单击“保存更改”按钮以存储您的设置。

这将禁用对您以后所有帖子的评论。但是,如果您想允许或禁止对特定帖子发表评论,那么您仍然可以在不更改此设置的情况下执行此操作。
我们将在下一节中介绍。
禁用对特定页面或帖子的评论
默认情况下,所有页面上的评论都是关闭的。
但是,WordPress 允许您自由启用或禁用对单个页面和帖子的评论。
只需从左侧边栏转到页面»所有页面。在下一页上,您需要将鼠标光标悬停在要启用或禁用评论的页面标题上,然后单击“编辑”链接。

在页面的右上角,您会看到 3 个垂直点图标。您需要单击它以打开下拉菜单,然后单击选项。
这将打开一个弹出框,您需要确保此处启用了讨论框。

关闭此模式框后,您将在编辑器的右侧看到Discussion元框。如果您没有看到它,请确保您单击“文档”选项卡以查看它。

现在,您可以取消选中“允许评论”框以禁用此页面上的评论,然后单击“更新”以保存更改。
另一方面,如果您想有选择地启用评论,则只需选中该框即可为某些页面启用它。
您可以按照相同的过程关闭对个别帖子或其他自定义帖子类型的评论。
批量禁用对页面和帖子的评论
想要在不单独执行的情况下禁用对所有已发布帖子和页面的评论?您可以在不使用插件的情况下做到这一点。
首先,转到帖子»所有帖子以查看您的所有文章。
接下来,选择所有帖子,从“批量操作”下拉框中选择“编辑”,然后单击“应用” 。

您现在可以执行批量操作,包括更改作者姓名和关闭所有选定帖子的评论。
从评论下拉框中选择不允许,然后单击更新。这将禁用对所有选定帖子的评论。

您可以按照相同的过程关闭页面上的评论。
删除所有 WordPress 评论
虽然上述方法会禁用对您的帖子和页面的评论,但它不会从您的 WordPress 站点中删除现有评论。
要删除您站点中的所有评论,请单击管理面板左侧栏中的评论。

接下来,选择所有评论,从 Bulk Actions 下拉框中选择Move to Trash选项,然后单击Apply。这将从您的站点中删除所有现有评论。
如果您的网站有很多评论,那么您将不得不多次重复此步骤。
禁用媒体页面上的评论
如果您希望禁用媒体页面上的评论,则有两种方法可以解决。
您可以按照我们上面讨论的方法手动禁用对单个媒体附件文件的评论,但这可能非常耗时。
批量禁用评论的更简单方法是使用代码片段。如果您是高级用户,您可以将以下代码粘贴到主题的functions.php文件中。我们不推荐这种方法,因为它很容易通过编辑核心文件破坏您的 WordPress 网站。
function filter_media_comment_status( $open, $post_id ) {
$post = get_post( $post_id );
if( $post->post_type == 'attachment' ) {
return false;
}
return $open;
}
add_filter( 'comments_open', 'filter_media_comment_status', 10 , 2 );
我们建议每个人都使用WPCode ,这是任何人向其 WordPress 站点添加代码的最简单、最容易的方法。
简单安装并激活免费的 WPCode 插件。有关更多信息,您可以查看我们关于如何安装 WordPress 插件的分步指南。
激活后,前往WordPress 仪表板中的代码片段。将鼠标悬停在“添加您的自定义代码(新代码段)”上,然后单击“使用代码段”按钮。

接下来,您将看到“创建自定义代码段”屏幕。在这里,您可以为您的代码片段命名,例如“禁用媒体页面上的评论”,并将上面的代码粘贴到“代码预览”区域。

请注意,您应该从“代码类型”下的下拉菜单中选择“PHP 代码段”,并将开关切换到“活动”。
现在,您只需按下“保存代码段”按钮,代码就会在您的网站上生效。
使用插件轻松禁用 WordPress 评论
如果您不想手动禁用评论,那么您可以使用禁用评论插件,只需单击一下即可。
它允许您完全禁用 WordPress 网站上所有地方的评论。您还可以在特定帖子类型(例如帖子、页面、媒体等)上禁用它们。它还会删除评论表单并停止显示现有评论。

您需要做的第一件事是安装并激活禁用评论插件。您可以按照我们关于如何安装 WordPress 插件的分步指南获取详细说明。
激活插件后,从管理面板的左侧栏转到设置»禁用评论。
选择“无处不在”选项允许您在整个 WordPress 站点上禁用评论。该插件还将从您的 WordPress 管理区域中删除评论菜单项。
如果您选择“在特定帖子类型上”的第二个选项,则您可以有选择地禁用对您的帖子、页面或媒体的评论。

例如,如果您只想从媒体附件中删除评论,那么您可以选择特定帖子类型单选按钮,然后选中媒体复选框。
如果您只想关闭 WordPress 页面上的评论,您也可以这样做。使用该插件是禁用 WordPress 页面评论的最简单方法。
完成后,只需单击“保存更改”即可完成该过程。
删除 WordPress 中的“评论已关闭”
如果您的 WordPress 主题没有正确检查评论状态,那么它可能仍会显示评论表单、现有评论,甚至显示“评论已关闭”消息。
您可以要求您的主题开发人员解决此问题,因为这不符合标准。
或者,您也可以尝试按照以下说明自行修复。
首先,使用FTP 客户端或WordPress 主机控制面板 中的文件管理器连接到您的 WordPress 站点 。现在导航到您当前的主题文件夹,该文件夹位于 /wp-content/themes/ 文件夹中。
在您的主题文件夹中,您需要找到文件 comments.php,右键单击该文件,并将其重命名为 comments_old.php。

接下来,您需要右键单击 FTP 客户端的右侧面板并选择创建新文件选项。然后,将您的新文件命名为 comments.php 并单击确定按钮。

这个技巧只是作为您的 WordPress 主题的空评论模板,因此不会显示任何评论或与评论相关的消息。
如果您的 WordPress 主题没有 comments.php 文件,那么您需要询问您的主题开发人员您需要编辑哪个文件。
垃圾邮件防护技术
如果您只是为了保护您的网站免受垃圾邮件发送者和链接构建者的侵害而计划禁用 WordPress 评论,那么我们宁愿建议您使用以下一些技术来打击垃圾邮件。
阿基斯梅特

Akismet是处理垃圾评论的最佳插件之一。最好的部分是它是由 WordPress 背后的团队构建的。
此插件检查您网站上的每条评论并验证它是否是垃圾邮件。
结束评论
您知道您可以在一段时间后关闭评论吗?

转到设置»讨论并选中“自动关闭对超过 14 天的文章的评论”字段。
这将在 14 天后自动关闭评论表单。您还可以根据需要更改天数。
通常垃圾邮件发送者会针对较旧的帖子,因此一些用户将此设置更改为 180 天,从而显着减少垃圾邮件。
带有反垃圾邮件蜜蜂的蜜罐
我们发现添加名为Antispam Bee的第二个插件很有帮助,它与 Akismet 一起使用可以显着减少您网站上的垃圾评论。
它添加了一个隐形蜜罐,可以阻止 99% 的垃圾机器人评论。
评论验证码
虽然在您的评论表单中添加验证码不是用户友好的,但它仍然可以帮助您保护您的网站免受垃圾邮件发送者的侵害。
您可以使用 Advanced noCaptcha 和 Invisible Captcha插件在评论表单的提交按钮之前添加 Google reCaptcha。
删除网站 URL 表单字段
另一种对付链接构建者和垃圾邮件发送者的方法是从评论表单中删除网站 URL 字段。这是来自WPForms网站的示例:

为此,您可以使用Comment Link Remove 和 Comments Tool插件。它允许您从评论表单中删除网站 URL 字段,而无需触及一行代码。那不是很好吗?
阻止不良 IP
您还可以阻止错误的 IP 地址访问您的 WordPress 网站。这将帮助您阻止垃圾邮件发送者和黑客攻击。
为此,您可以查看我们的指南,了解如何在 WordPress 中阻止 IP 地址。