如何使用Hook移除Woocommerce注册表单内置邮箱字段校验规则
WooCommerce注册表单邮箱字段移除默认校验方案
可以通过WooCommerce内置的过滤钩子移除系统默认的邮箱字段校验规则,具体实现方式如下:
- 用到的钩子为
woocommerce_registration_errors,通过该钩子可以拦截默认注册校验生成的错误集合,清除邮箱相关的默认错误项即可跳过系统自带的校验逻辑,示例代码如下:
add_filter( 'woocommerce_registration_errors', 'custom_remove_default_email_validation', 9, 3 ); function custom_remove_default_email_validation( $errors, $username, $email ) { // 移除邮箱必填校验错误 if ( isset( $errors->errors['registration_email_required'] ) ) { unset( $errors->errors['registration_email_required'] ); } // 移除邮箱格式校验错误,不需要可注释该行 if ( isset( $errors->errors['registration_invalid_email'] ) ) { unset( $errors->errors['registration_invalid_email'] ); } return $errors; }
- 注意将上述代码添加到主题目录下的
functions.php文件或者自定义功能插件中即可生效,钩子优先级设置为9是为了确保在校验规则生成后、你自定义的校验逻辑运行前清除默认错误,你自己编写的自定义校验Hook优先级设置为大于9即可正常执行。
内容的提问来源于stack exchange,提问作者4 Leave Cover
相关产品推荐
相关产品推荐

