У меня есть следующая функция, которая перенаправляет людей на страницу подтверждения возраста, если их сеанс истек:
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 до того, как у него появится возможность получить текущую страницу перед перенаправлением ...
Есть ли еще какие-нибудь подсказки?Что еще я могу предоставить, чтобы помочь в этом?