Я считаю, что то, что я пытаюсь сделать, довольно просто, но я все еще немного новичок, когда дело доходит до PHP и пытается установить и запустить довольно простую проверку в контактной форме 7.
В основном у меня есть клиент, который доставляет только определенные почтовые индексы в Онтарио, Канада. Первым этапом процесса оформления заказа является форма захвата электронной почты, которая также запрашивает почтовый индекс пользователя, чтобы проверить, есть ли в области доставки.
Почтовые индексы состоят из 3 символов:
- L6A
- N4K
- K1Y
- K4C
- K6V
- и т.д.
Мне удалось написать простую проверку по одному из регионов (например, L6A), но я не уверен, как можно проверить введенное пользователем значение по всему списку почтовых индексов, а также, чтобы оно НЕ было с учетом регистра.
Мой код указан ниже:
function custom_text_validation_filter($result, $tag) {
$type = $tag['type'];
$name = $tag['name'];
$needle = 'L6A';
//here textbox type name is 'postal-code'
if($name == 'postal-code') {
$value = $_POST[$name];
$pos = strpos($value, $needle);
if ($pos === false){
$result->invalidate( $tag, "Does Not Contain L6A" );
}
}
return $result;
}
add_filter('wpcf7_validate_text','custom_text_validation_filter', 10, 2);
add_filter('wpcf7_validate_text*', 'custom_text_validation_filter', 10, 2);
Я надеюсь получить подтверждение, которое выдает сообщение, когда форма не проверяется, например "Извините, вы не в нашей зоне доставки", и перенаправляет пользователей на URL, когда их почтовый индекс находится в списке.
Любая помощь была бы удивительной :) 1028 *