По моему мнению, нет необходимости переопределять стандартные поля Woocommerce или использовать проверку Javascript.Вы можете добавить пользовательскую проверку, которая будет добавлена к проверке поля телефона выставления счетов по умолчанию в Woocommerce, подключившись к действию, инициированному после отправки заказа.
Это код, который я только что реализовал для клиента.
// Custom validation for Billing Phone checkout field
add_action('woocommerce_checkout_process', 'custom_validate_billing_phone');
function custom_validate_billing_phone() {
$is_correct = preg_match('/^[0-9]{6,20}$/', $_POST['billing_phone']);
if ( $_POST['billing_phone'] && !$is_correct) {
wc_add_notice( __( 'The Phone field should be <strong>between 6 and 20 digits</strong>.' ), 'error' );
}
}
Конечно, вместо моего preg_match вы можете проверить что-нибудь еще и настроить свой условный код в соответствии со своими потребностями.
Вы также можете добавить пользовательскую проверку для других полей по умолчанию, отметив справа $ _POSTпеременная, или ваши собственные поля извлечения, конечно, после того, как вы их правильно настроили, но это уже другая тема:)
Надеюсь, это поможет.