当表单包含多个必填字段时,它们的标签可能带有一个带有图例的星号,以说明这些字段是必填的。为了减少代码重复并帮助维护全局一致的标记,WordPress 有两个新功能:wp_required_field_indicator()
和wp_required_field_message()
. 如果主题和插件至少需要 WordPress 6.1,它们也可以使用这些功能。
必填字段的标签使用该函数,它给出了一个包含在“required”类标签wp_required_field_indicator()
中的符号。翻译人员现在可以用他们语言中更合适的字形替换星号。span
对于图例,还使用“required-field-message”类在元素中wp_required_field_message()
包装“必填字段标记为 *” 。span
该符号与wp_required_field_indicator()
函数生成的标记相匹配。
在 WordPress 5.9 和 6.0 中,屏幕阅读器不会阅读评论表单的星号或必填字段消息文本,因为它们是视觉提示。在 6.1 中,修订版恢复了这些项目,因此看到文本的屏幕阅读器用户也能听到它。
过滤标记
这两个函数都有用于编辑其输出的钩子,并且过滤器名称与相关函数匹配。
指标示例
如果语言保留单个星号,但这已经意味着站点上的其他内容,则过滤器可以添加更多星号:
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' , 10, 1 ); |
消息示例
将消息中指示符之前的空格替换为不间断空格,以便符号不会换行到下一行,与消息的其余部分分开。
function wpdocs_use_nonbreaking_space_in_required_fields_message( $message ) { $message = str_replace ( ' <span class="required"' , ' <span class="required"' , $message ); return $message ; } add_filter( 'wp_required_field_message' , 'wpdocs_use_nonbreaking_space_in_required_fields_message' , 10, 1 ); |