Перенаправить пользователя на исходный URL из проверки возраста - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть следующая функция, которая перенаправляет людей на страницу подтверждения возраста, если их сеанс истек:

function age_verification() {
   global $wp_session;

   if (is_admin()) 
       return false;

   $isAgeVerification = is_page('age-verification');
   $isAgeVerification = strpos($_SERVER['REQUEST_URI'], 'age-verification') !== false;

   if(!$isAgeVerification && $wp_session['age_allow'] == 0)
   {
       wp_safe_redirect( '/age-verification/' );
       exit;
   }

   if($isAgeVerification && $wp_session['age_allow'] == 1)
   {
       wp_safe_redirect( '/' );
       exit;
   }
}
add_action( 'init', 'age_verification' );

Как мне перенаправить их обратно на страницу, которую они напечатали в адресной строке?первоначально?Я пытался захватить $_SERVER['REQUEST_URI'], но он дает мне текущую страницу /age-verification, а не страницу, с которой они были направлены.Я также пытался $_SERVER['HTTP_REFERER'], но он не установлен ...

Возможно ли это с моей текущей функцией?Спасибо!

РЕДАКТИРОВАТЬ:

Поэтому, когда я звоню $_SERVER['REQUEST_URI'], я получаю страницу, на которую перенаправляет браузер (domain.com/age-verification).Однако я заметил, что если я поставлю exit; сразу после моего $_SERVER['REQUEST_URI'], я получу правильный результат.Похоже, что $_SERVER['REQUEST_URI'] слишком медленный и обновляется с помощью domain.com/age-verification до того, как у него появится возможность получить текущую страницу перед перенаправлением ...

Есть ли еще какие-нибудь подсказки?Что еще я могу предоставить, чтобы помочь в этом?

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете установить текущий REQUEST_URI для Session перед перенаправлением на проверку возраста и использовать это значение для перенаправления назад.Другая возможность - указать его в параметре URL при перенаправлении на проверку возраста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...