消毒电话号码输入woocommerce

时间:2017-09-25 08:07:54

标签: php wordpress woocommerce

我需要在woocommerce结帐页面上屏蔽一些电话号码

如果电话号码以0111或0222或0333开头,则应提示错误消息。

默认情况下,WooCommerce结帐字段支持字段的以下属性

$defaults = array(
'type'              => 'text',
'label'             => '',
'description'       => '',
'placeholder'       => '',
'maxlength'         => false,
'required'          => false,
'id'                => $key,
'class'             => array(),
'label_class'       => array(),
'input_class'       => array(),
'return'            => false,
'options'           => array(),
'custom_attributes' => array(),
'validate'          => array(),
'default'           => '',
);

现在我只能用功能

设置“maxlength”数字
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields )
{        
  $fields['billing']['billing_phone']['maxlength'] = 10;      
  return $fields;    
}

1 个答案:

答案 0 :(得分:1)

你可以尝试这样的事情:

add_action('woocommerce_checkout_process', 'phoneValidate');

function phoneValidate() {
    $billing_phone = filter_input(INPUT_POST, 'billing_phone');

    if ( /* you condition */) {
        wc_add_notice(__('Invalid Phone Number.'), 'error');
    }
}