Я хочу использовать регулярное выражение (регулярное выражение) для проверки значения поля почтового индекса формы на странице WordPress, а затем на основе этих результатов:
-
Выборочно назначайте/отображайте ценовые поля на той же странице.
или
-
Выборочное перенаправление пользователя на страницу с ценой, зависящей от результата.
Вот регулярное выражение и скелет псевдокода js.
var zip5 = event.value.toString();
var myRegExp = /^92(2|3|5)/;
if ( zip5.length === 5 && myRegExp.test(zip5))
{
// Code to assign/display price set #1 on same page...or
// Code to move to WordPress Page with Price Set #1
}
else
{
// Code to assign/display price set #2 on same page...or
// Code to move to WordPress Page with Price Set #2
}
Я думаю, вы более или менее получили то, что вам нужно. У вас есть текстовое поле в форме HTML. Эта форма должна находиться в файле шаблона где-то в теме WordPress. Этот файл шаблона генерирует некешированные страницы.
Внутри шаблона PHP для указанного файла шаблона проверьте объект $_POST (или $_REQUEST ) для идентификатора поля формы, который вы установили в HTML. Затем выполните свою логику шаблонов в виде логического блока if..else, который вы описали в псевдокоде выше.
Ваша функция проверки, вероятно, может быть где угодно, но, вероятно, наиболее доступна через functions.php:
Есть проблема с вашим регулярным выражением — оно будет соответствовать строке «92», затем 2, 3 или 5, но последние два символа могут быть любыми, включая буквы. Вы не указываете цифры для регулярного выражения. Вы, вероятно, хотите что-то вроде
Кроме того, вам нужно принять решение о том, хотите ли вы сделать это в PHP или в Javascript — вы не можете сделать и то, и другое, если только вы не используете вызов AJAX для получения цены. (В любом случае нет причин делать это дважды.) Сценарий @editor выглядит правильно (за исключением того, что регулярное выражение не проверяет цифры) для решения PHP, но, судя по вашему описанию, похоже, что вы ищете решение Javascript.
Если вы выберете цены на Javascript и на самом деле получите цены в исходном коде, вы можете столкнуться с тем, что некоторые разозленные люди задаются вопросом, почему они платят больше за один и тот же товар, чем кто-то из другого почтового индекса.