WordPress 6.1 新增必填字段相关函数和钩子

2022-11-23 19:33:23 浏览数 (1)

文章目录[隐藏]

  • 过滤标记
    • 指示符示例
    • 消息示例

当表单包含多个必填字段时,它们的标签可能带有一个带有图例的星号,以说明这些字段是必填的。为了减少代码重复并帮助维护全局一致的标记,WordPress 有两个新函数: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”类名 。该符号与wp_required_field_indicator()函数生成的标记相匹配。

在 WordPress 5.9 和 6.0 中,屏幕阅读器不会阅读评论表单的星号或必填字段消息文本,因为它们是视觉提示。在 6.1 中,修订版恢复了这些项目,因此看到文本的屏幕阅读器用户也能听到它。

过滤标记

这两个函数都有用于编辑其输出的钩子,并且过滤器名称与相关函数匹配。

指示符示例

如果语言保留单个星号,使用过滤器可以添加更多星号:

代码语言:javascript复制
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 );

消息示例

将消息中指示符之前的空格替换为不间断空格,以便符号不会换行到下一行,与消息的其余部分分开。

代码语言:javascript复制
function wpdocs_use_nonbreaking_space_in_required_fields_message( $message ) {
    $message = str_replace( ' <span class="required"', '&nbsp;<span class="required"', $message );
    return $message;
}
add_filter( 'wp_required_field_message', 'wpdocs_use_nonbreaking_space_in_required_fields_message', 10, 1 );

有关更多信息,请查看工单#54394、#56389和#55717。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

0 人点赞