Не работает переменная сеанса WordPress

У меня проблема со сеансом WordPress. У меня есть файл test.php, который используется для отправки переменной на сайт WordPress. Он имеет условие: «если задана переменная сеанса, пользователь может получить доступ ко всему сайту WordPress, и если переменная сеанса не установлена, пользователь не может получить доступ к сайту».

Когда я отправляю переменную на сайт WordPress с помощью test.php, страница работает нормально, но когда я обращаюсь к внутренним страницам, например, «xyz.com/contact», я получаю сообщение об ошибке Not Access что означает, что переменная сеанса была очищена на следующей странице ,

Вот файл test.php:

 <form action="wordpress-site-link" method="POST"> <input type="submit" name="var" value="go"/> </form> 

В файле themes / theme-name / header.php я написал этот код:

 session_start(); if(isset($_SESSION['var'])) { echo 'Welcome'; } else if(isset($_POST['var'])) { $_SESSION['var'] = $_POST['var']; } else { echo 'No access...'; exit; } 

Просто зацепите функцию «init» в функции functions.php следующим образом:

 function ur_theme_start_session() { if (!session_id()) session_start(); } add_action("init", "ur_theme_start_session", 1); 

Тогда вы можете использовать переменные сеанса.

Надеюсь, что поможет u.