🆕 Bricks 2.4 已发布:查询循环性能提升 40%,迁移教程同步更新 →

首页 / 中文教程 / 教程

在 Bricks 评论表单中移除姓名与网站字段

教程:在 Bricks 评论表单中移除姓名与网站字段,并保持邮箱为必填项,含完整 PHP 与 CSS 代码。

Ray ChanRay Chan·2026-08-18·约 2 分钟
目录
  1. 1.Bricks 1.9.7 及之后
  2. 2.Bricks 1.9.7 之前:第一步移除字段
  3. 3.第二步:关闭姓名必填
  4. 4.第三步:让邮箱成为必填
  5. 5.第四步:为邮箱标签加星号
  6. 6.小结

在 Bricks 评论表单中移除姓名与网站字段

更新于 2024 年 3 月 14 日。

在 BricksLabs 的 Facebook 群里,有用户问:

从 Bricks 的「Comments(评论)」元素中移除字段的最佳方法是什么?我想从 Bricks 评论元素里移除「Name(姓名)」和「Website(网站)」字段。我试过在默认 WP 评论表单上有效的代码片段,但它们对 Bricks 评论元素的字段似乎不起作用。希望能得到一些指导!

本教程提供从 Bricks 文章评论表单中移除姓名与网站字段的步骤。把代码放进子主题的 functions.php 或代码片段插件均可,后者可参考 在 Bricks 中使用 WPCodeBox 管理专属代码片段

Bricks 1.9.7 及之后

在单篇文章模板中添加一个 Comments(评论)元素。

把它的 Source(来源)保持为「Bricks」。

在 FIELDS 选择控件中,只选择 Email(邮箱)。

Bricks 1.9.7 之前

该方法在 1.9.7 及之后同样有效。

第一步:移除字段

我们使用 comment_form_fields 过滤器,从评论表单中移除姓名与网站字段。

把它添加到子主题的 functions.php 或代码片段插件中:

// Remove Name and Website fields from the comment form
add_filter( 'comment_form_fields', function( $fields ) {
	unset( $fields['author'] ); // Name field
	unset( $fields['url'] ); // Website field

	return $fields;
} );

第二步:关闭姓名必填

虽然我们已经在前端移除了必填的姓名字段,但表单仍然把它当作必填字段,不填就无法提交。

在 WP 后台,进入 Settings → Discussion,在「Other comment settings」下取消勾选「Comment author must fill out name and email」。

第三步:让邮箱成为必填

由于 WordPress 只允许我们把姓名和邮箱的必填条件作为一个整体移除,现在我们需要一种方式让邮箱重新成为必填。

把它添加到子主题的 functions.php 或代码片段插件中:

// Make Email field in comment forms required.
add_filter( 'preprocess_comment', function( $fields ) {
	if ( $fields['comment_author_email'] == '' ) {
		wp_die( 'Error: Please enter a valid email.' );
	}

	return $fields;
} );

第四步:为邮箱标签加星号

我们在表单中「Email」标签后加一个星号,提示访客这是必填项。

编辑你的单篇文章模板,在 Settings(齿轮图标)→ PAGE SETTINGS → CUSTOM CODE → Custom CSS 中添加:

.comment-form .form-group:first-child label::after {
  content: " *";
}

参考资料

https://developer.wordpress.org/reference/hooks/comment_form_fields/

https://developer.wordpress.org/reference/hooks/comment_form_default_fields/

https://forum.bricksbuilder.io/t/standard-wp-filters-for-comment-form-dont-work-with-comment-form-element/6637?u=sridhar

https://www.howtosolutions.net/2015/10/wordpress-comments-making-email-field-optional/

https://wordpress.stackexchange.com/a/294397/14380

add_filter( 'comment_form_fields', 'bricks_comment_form_fields_order' );

位于 wp-content/themes/bricks/includes/utilities/comments.php

小结

在 Bricks 1.9.7+ 中,移除姓名/网站字段最简单的方式是直接把 Comments 元素的 FIELDS 设为仅 Email;在更早版本中,则用 comment_form_fields 过滤器 unsetauthorurl,再到后台关闭「姓名必填」,并用 preprocess_comment 过滤器把邮箱重新设为必填,最后用一行 CSS 给邮箱标签加星号即可。

Ray Chan

站长

Ray Chan

WordPress Developer & Bricks Specialist

WordPress developer with 10+ years of client builds. Switched to Bricks in 2023 — now builds fast WordPress sites and migrates legacy Elementor/Divi projects.

延伸阅读