Я использую пользовательский параметр запроса в Word с именем responses
для некоторого динамического содержимого. Я добавил некоторые условия, которые перенаправляют пользователя обратно на корневой URL-адрес, если ответ введен неправильно, поэтому он не может получить доступ к пустой странице. Что я здесь делаю не так, и есть ли более чистый способ сделать это?
functions.php:
function add_query_vars_filter($vars) {
$vars[] = "response";
return $vars;
}
add_action("query_vars", "add_query_vars_filter");
Приведенный ниже код работает, но мне он кажется неопрятным и не выглядит масштабируемым для большего количества условий.
page.php:
$response = get_query_var('response');
if (!$response) {
header("Location: https://" . $_SERVER['HTTP_HOST']);
}
if ($response == "yes" || $response == "no") {
header("Location: https://" . $_SERVER['HTTP_HOST']);
}
В идеале, я бы предпочел, чтобы все было в одном условном выражении, однако, когда я пишу:
if (!$response || $response == "yes" || $response == "no") {
header("Location: https://" . $_SERVER['HTTP_HOST']);
}
Но это не перенаправляет пользователя обратно на хост, когда они набирают ?response=yes
или ?response=no