加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 13:01:42 所属栏目:PHP教程 来源:网络整理
导读:我想添加自己的正则表达式来验证电话号码.在我的class-wc-validation.php中,我已将正则表达式更改为我的要求. public static function is_phone( $phone ) { //if ( strlen( trim( preg_replace( '/[s#0-9_-+()]/','',$phone ) ) ) 0 ) if ( strlen( t
我想添加自己的正则表达式来验证电话号码.在我的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和woocommerce_checkout_order_processed

但在你的情况下,我强烈建议你把它挂在woocommerce_checkout_process上

所以把这些代码放在你的主题的functions.php上,或者你创建自己的woocommerce插件,并把它放在bootstrap代码中.

add_action('woocommerce_checkout_process','is_phone');

function is_phone() { 
    $phone_number = $_POST['---your-phone-field-name---'];
    // your function's body above,and if error,call this wc_add_notice
    wc_add_notice( __( 'Your phone number is wrong.' ),'error' );
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读