Используйте strlen на вашем посту. Затем оцените, равна ли она требуемой длине.
function my_custom_checkout_field_process() {
global $woocommerce;
// Check if set, if its not set add an error. This one is only requite for companies
$len = strlen($_POST['billing_phone']);
if($len !== 8){
wc_add_notice( "Phone number must be 8 digits" ,'error' );
}
}
Если вы также хотите, чтобы она соответствовала номеру, используйте is_numeric()
или !is_numeric()
$len = strlen($_POST['billing_phone']);
if($len !== 8)){
wc_add_notice( "Phone number must be 8 digits" ,'error' );
if(!is_numeric($_POST['billing_phone'])){
wc_add_notice( "Phone number must be number" ,'error' );
}
}
Вы также можете установите ваш тип ввода как tel
и добавьте шаблон, если в Дании используется указанный шаблон c, это поможет отформатировать перед отправкой в браузерах, которые поддерживают html 5
<input type="tel" id="phone" name="phone" pattern="[0-9]{8}" required>
OUTPUT ERROR КОГДА НОМЕР МЕНЕЕ 8:
![enter image description here](https://i.stack.imgur.com/ELlop.jpg)
ОШИБКА ВЫХОДА, КОГДА БОЛЬШЕ 8:
![enter image description here](https://i.stack.imgur.com/sDx6x.jpg)
ОШИБКА ВЫХОДА, ЕСЛИ НЕ НОМЕР:
![enter image description here](https://i.stack.imgur.com/kJ7sW.jpg)