Intereting Posts

Woocommerce checkout field maxlength, введите только поле ввода номера (почтовый индекс)

Я боролся с этим в течение нескольких дней. Я хочу сделать это, чтобы ограничить поля Postcode / zip на 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 

К моменту woocommerce_checkout_fields фильтра 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;

Вы можете добавить эти функции в functions.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' );