Перенаправление страниц на основе WP_Query - PullRequest
0 голосов
/ 04 апреля 2019

Я использую пользовательский параметр запроса в 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

...