gpt4 book ai didi

php - WooCommerce 结帐字段的自定义验证

转载 作者:可可西里 更新时间:2023-10-31 22:54:19 26 4
gpt4 key购买 nike

我想添加自己的正则表达式来验证电话号码。在我的 class-wc-validation.php 中,我已将正则表达式更改为我的要求。

public static function is_phone( $phone ) {
//if ( strlen( trim( preg_replace( '/[\s\#0-9_\-\+\(\)]/', '', $phone ) ) ) > 0 )
if ( strlen( trim( preg_replace( '/^[6789]\d{9}$/', '', $phone ) ) ) > 0 )
return false;

return true;
}

但是验证没有发生。我错过了什么?

最佳答案

面临着同样的问题并按照其他人在这里所说的进行操作,但 Woocommerce 仅在 woocommerce_checkout_process Hook 后设置验证错误。

但是,在最新的 Woocommerce 3.0 中(不确定这是否在 2.x 版本中),我们可以使用 woocommerce_after_checkout_validation 钩子(Hook)然后查看 $data param 如果您使用的是标准结帐字段,或者如果您有未以标准 Woocommerce 方式添加的自定义字段,则使用 $_POST。代码示例如下:

public function validate($data,$errors) { 
// Do your data processing here and in case of an
// error add it to the errors array like:
$errors->add( 'validation', __( 'Please input that correctly.' ));
}
add_action('woocommerce_after_checkout_validation', 'validate',10,2);

希望对您有所帮助!

关于php - WooCommerce 结帐字段的自定义验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28603144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com