RE: Как сделать в плагине Contact Form 7 проверку телефонного номера?
В популярном плагине Contact Form 7 (у меня стоит версия Версия 3.8) в конструкторе полей (при создании новой контактной формы) есть поле "Номер телефона". Как мне сделать в этом поле проверку номера телефона: ввел человек цифры или буквы, ввел ли он полный номер телефона и т.д. Что нужно указывать в настройках этого поля "Номер телефона" чтобы сделать валидацию номера телефона?
Сделать валидацию телефонного номера в Contact Form 7 можно с помощью небольшого хука.
Сделайте в конструкторе полей телефонный номер как обычное "текстовое поле". Оно будет иметь название, похожее на "text-123" (эти цифры и нужно подставить в код ниже. Теперь открываем файл functions.php текущей темы и вставляем код:
function wpds_validate_phone($result, $tag) {
$field_name = $tag['name'];
if ($field_name == 'text-123') { // Указываем имя поля для телефонного номера
$tel = preg_replace('/\D/', '', $_POST[$field_name]);
if (strlen($tel) != 12) {
$result['valid'] = false;
$result['reason'][$field_name] = 'Пожалуйста, введите корректный телефонный номер. Например, 375 (29) 111-22-33';
}
}
return $result;
}
add_filter('wpcf7_validate_text', 'wpds_validate_phone', 10, 2);
add_filter('wpcf7_validate_text*', 'wpds_validate_phone', 10, 2);
Скрипт проверяет валидность телефона, при этом пользователь может указать символы "-", "/" - разделения цифр, но если он указал неполный номер телефона (12 цифр), то валидация не будет пройдена.

