Как использовать сеанс в wordpress при разработке плагинов
Я новичок в написании плагина. У меня есть файл testplugin.php и файл ajax.php.
Мой код в testplugin.php
global $session; print_r($abc); //$abc is array of my data .. $session['arrayImg']=$abc; //saving data in session echo $session['arrayImg']; //displayin "Array"
И мой ajax.php состоит из следующего кода
global $session; $abc = $session['arrayImg']; print_r ("abs== ".$abc); //displayin "abs== Array"
И если используется session_start();
Я получаю следующую ошибку
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
Я просто хочу отправить массив данных из одного файла моего плагина в другой файл …
2 Solutions collect form web for “Как использовать сеанс в wordpress при разработке плагинов”
// На ваш плагин или темы functions.php
function register_session(){ if( !session_id() ) session_start(); } add_action('init','register_session');
// Чтобы установить данные SESSION
–
$_SESSION['arrayImg'] = $abc;
// Получить данные о функции ajax hooked –
function resolve_the_ajax_request(){ if( !session_id()) session_start(); $abc = $_SESSION['arrayImg']; }
В моем случае я использовал эту переменную сеанса в активации плагинов. Так было что-то неортодоксальное. Вместо того, чтобы определять мой session_start в hook, я сделал его первой линией в моем плагине :).
Чтобы чертить плагины, как только WordPress сканирует мой файл, он инициирует сеанс.
В конце я не уничтожаю сеанс при выходе пользователя из системы. Я просто отключил свою переменную. Это на всякий случай, если какой-либо другой плагин также использует сеанс. Если я уничтожу сеанс, это может повлиять на другие плагины.
Приветствия.