WordPress 6.1 新增必填字段函数钩子详解

当表单中包含多个必填字段时,为了清晰标识,这些字段的标签通常会附带一个带有图例的星号,以明确告知用户哪些字段是必填项。为了简化代码并确保全局标记风格的一致性,WordPress 6.1 引入了两个实用函数:wp_required_field_indicator() 和 wp_required_field_message()。值得注意的是,只要主题和插件支持 WordPress 6.1 或更高版本,这些函数即可被广泛使用。

必填字段的标签应通过 wp_required_field_indicator() 函数来处理,该函数会生成一个包含必填星号的 span 标签,并自动添加“required”类名。这一设计不仅提高了代码的可维护性,还允许翻译人员根据不同语言的需求,替换为更合适的字形符号。例如,某些语言可能更倾向于使用问号或其他符号来表示必填项。

对于图例(legend)部分,wp_required_field_message() 函数同样发挥着关键作用。它会创建一个包含“Required fields are marked *”文本的 span 元素,并赋予其“required-field-message”类名。这一设计确保了图例与指示符的标记风格保持高度一致,从而提升用户体验。

值得一提的是,在 WordPress 5.9 和 6.0 版本中,屏幕阅读器无法识别评论表单中的星号或必填字段消息文本,因为它们仅作为视觉提示存在。然而,WordPress 6.1 的修订版恢复了这一功能,使得使用屏幕阅读器的用户也能清晰地听到这些提示信息,从而显著提升了无障碍访问性。

文章目录
Toggle
过滤标记
指示符示例
消息示例
过滤标记

这两个函数都提供了灵活的钩子系统,允许开发者通过过滤器名称(与相关函数命名一致)来定制其输出。例如,如果语言环境仍然使用单个星号作为默认指示符,开发者可以通过过滤器添加更多星号,以增强视觉效果。以下是一个示例代码:

“`php
function wpdocs_replace_single_asterisk_in_default_indicator( $indicator ) {
$indicator = str_replace( ‘>****’, ‘>★★★’, $indicator );
return $indicator;
}
add_filter( ‘wp_required_field_indicator’, ‘wpdocs_replace_single_asterisk_in_default_indicator’ );
“`

通过这种方式,开发者可以根据实际需求调整必填字段指示符的样式,同时保持代码的简洁性和可维护性。

文章网址:https://www.wpbull.com/news/2010.html