Переменная сеанса Wordpress существует, но не работает, когда я захожу в плагин wp-estore - PullRequest
0 голосов
/ 23 мая 2018

Я назначил переменную массива в сеансе для временного использования.Переменная Session хранит информацию о клиенте перед оформлением покупки с помощью PayPal.После оформления заказа я хочу сохранить данные переменной сеанса в таблице базы данных.Переменная сессии существует, и я могу получить доступ через шаблон темы.Но когда я пытаюсь получить доступ к этой переменной сеанса в плагине wp-store.Это показывает пустые данные.

Моя переменная сеанса

$_SESSION['userinfo'] = $userinfo;

В шаблоне темы я могу напрямую получить доступ к переменной сеанса, которая дает идеальный вывод.

var_dump($_SESSION['userinfo']);

Аналогичным образом, в плагине он выдает пустые данные

$sesData =$_SESSION['userinfo'];

$lname = $sesData['lname'];
$phone = $sesData['phone'];
$addrs = $sesData['addr'];
$lanc = $sesData['lanc'];
$latc = $sesData['latc'];

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Добавить действие ниже для плагина

function register_session()
{
  if( !session_id() )
  {
    session_start();
  }
}

add_action('init', 'register_session');
0 голосов
/ 25 мая 2018

Сеансы не включены в WordPress по умолчанию, поэтому вам нужно активировать php-сессии в теме и плагине.

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

add_action('init', 'myStartSession', 1);
add_action('wp_logout', 'myEndSession');
add_action('wp_login', 'myEndSession');

function myStartSession() {
    if(!session_id())
        session_start();
}
function myEndSession() {
    session_destroy ();
}
...