WooCommerce结账字段最大长度,仅使输入数字字段(邮政编码)

时间:2016-01-26 作者:Menno van der Krift

我已经为此挣扎了几天了。我想做的是,将邮政编码/邮政编码字段限制为4个数字。因此,要在这些字段中添加一个maxlength和一个type=“number”。

到目前为止我已经尝试过的事情:

1-(functions.php)

add_filter( \'woocommerce_checkout_fields\' , \'custom_override_checkout_fields\' );

function custom_override_checkout_fields( $fields ) {
    $fields[\'billing\'][\'postcode\'][\'maxlength\'] = 4;    
    return $fields;
}
2-(functions.php)一种jQuery方式

add_action("wp_footer", "cod_set_max_length");

function cod_set_max_length(){

    ?>
    <script>

    jQuery(document).ready(function($){

        $("#postcode").attr(\'maxlength\',\'4\');

    });

    </script>

<?php

2 个回复
SO网友:certainstrings

到…的时候woocommerce_checkout_fields 过滤器已运行,用于计费和发货的阵列已创建。

你可以在这里看到:
https://docs.woothemes.com/wc-apidocs/source-class-WC_Checkout.html#101

如果要影响默认字段,请使用此挂钩。

function wpse215677_checkout_fields ( $fields ) {
    $fields[\'postcode\'][\'maxlength\'] = 4;
    return $fields;
}
add_filter(\'woocommerce_default_address_fields\', \'wpse215677_checkout_fields\');
如果只想调整默认帐单字段:

function wpse215677_checkout_fields ( $fields ) {
    $fields[\'billing_postcode\'][\'maxlength\'] = 4;
    return $fields;
}
add_filter(\'woocommerce_billing_fields\', \'wpse215677_checkout_fields\');
否则,只需编辑数组声明:

$fields[\'billing_postcode\'][\'maxlength\'] = 4;

SO网友:Muhammad Faisal

您可以在函数中添加这些函数。主题的php:

function custom_override_checkout_fields2( $fields ) {
$fields[\'shipping_postcode\'][\'maxlength\'] = 5;    
return $fields;
}
add_filter( \'woocommerce_shipping_fields\' , \'custom_override_checkout_fields2\' );

function custom_override_checkout_fields( $fields ) {
    $fields[\'billing_postcode\'][\'maxlength\'] = 5;    
    return $fields;
}
add_filter( \'woocommerce_billing_fields\' , \'custom_override_checkout_fields\' );