Мне удается настроить некоторые элементы поля для выставления счетов на моем веб-сайте с помощью этого кода
add_filter( 'woocommerce_default_address_fields', 'custom_woocommerce_default_address_fields' );
function custom_woocommerce_default_address_fields( $address_fields ) {
$address_fields['first_name']['custom_attributes'] = array('maxlength' => 35);
$address_fields['last_name']['custom_attributes'] = array('maxlength' => 35);
$address_fields['address_1']['custom_attributes'] = array('maxlength' => 50);
$address_fields['address_2']['custom_attributes'] = array('maxlength' => 50);
$address_fields['city']['custom_attributes'] = array('maxlength' => 35);
$address_fields['postcode']['custom_attributes'] = array('maxlength' => 4, 'type' => 'number' );
$address_fields['phone']['custom_attributes'] = array('maxlength' => 11, 'type' => 'number' );
unset($address_fields['company']);
unset($address_fields['address_2']);
return $address_fields;
}
Обратите внимание на две вещи, которые я сделал в поле почтового индекса и номера телефона.Я оба установил конкретные максимальные длины для обоих полей.Я также установил для них тип ввода «число», потому что заметил, что в эти поля можно также вводить буквы, которые должны быть только числами.Но ничего не происходит, когда я запускаю этот код.
Я также попытался отделить настройку, которую я сделал для этих полей, например:
add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );
function custom_override_checkout_fields( $fields )
{
$fields['billing']['billing_phone']['type'] = 'number';
$fields['billing']['billing_postcode']['type'] = 'number';
$fields['billing']['billing_phone']['maxlength'] = 11;
$fields['billing']['billing_postcode']['maxlength'] = 4;
return $fields;
}
Но дело только в ['type'] = 'number' является видимым изменением в этих двух полях оформления заказа.Я подумал, что это нормально, но когда я проверил, чтобы набрать все буквы, буквы e и r все еще продолжают появляться в поле почтового индекса и телефона.Это ошибка или это можно преодолеть?Я просто хочу получить как maxlength, так и input type = number в этих двух полях выставления счета.