Сессия WordPress не работает, кроме домашней страницы - PullRequest
1 голос
/ 11 февраля 2020

Я пытался использовать переменную Session для функции тем сайта WordPress. php файл. Это работает для домашней страницы, но не для других страниц.

Ниже мой код, написанный для функции WordPress. php файл. Где на дом. php есть пользовательский логин, чтобы получить доступ к сайту через код доступа.

add_action('init', 'start_session', 1);

function start_session() {
if(!session_id()) {
    session_start();

 }
}
 add_action('wp_logout','end_session');
 add_action('wp_login','end_session');
 add_action('end_session_action','end_session');

function end_session() {
 session_destroy();
}

$rand = $_GET['rand'];
  $id = $_GET['ID'];
  $_SESSION['invitation'] = $rand;
  $_SESSION['code'] = $id;

if (!isset($_SESSION['invitation']) && !isset($_SESSION['id']) ) {
    header("Location: https://www.website.com/home.php");

}

1 Ответ

0 голосов
/ 11 февраля 2020

Я понимаю, в чем проблема.

Для того, чтобы поддерживать сеанс в течение всего времени, вы должны упомянуть session_start() в начале всех других страниц. В WordPress вы можете легко добиться этого, поместив session_start() в заголовок . php, чтобы при каждом открытии новой страницы сеанс сохранял свое состояние, чтобы вы могли легко получить доступ к тому, что находится в вашем сеансе во всех страниц.

Примечание: Убедитесь, что перед загрузкой функций вы ставите session_start(). php Для получения дополнительной информации о session_start (): https://www.php.net/manual/en/function.session-start.php

Надеюсь, это решит вашу проблему .. !! :)

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