Intereting Posts
Суммируйте настраиваемое поле с коротким кодом в нем. Отображать страницу индекса CPT как переднюю / домашнюю страницу Nginx – многоязычный WordPress с корневой папкой в ​​собственном каталоге Динамически переписывайте подпапку с кодом страны в WordPress, используя PHP Добавить категории и сообщения в иерархию страниц Пометка по умолчанию для стандартного и пользовательского типа сообщений в wordpress как преобразовать блок HTML в динамический виджет? Могу ли я использовать одно и то же nonce для нескольких запросов на одной странице? Перемещение переменных с одной страницы на другую Как обрезать изображения определенного размера только для определенной страницы? перерегистрировать пользовательский тип сообщения с настраиваемыми возможностями Правильный способ передачи информации между отдельными функциями короткого кода Как отделить CPT от обычных сообщений? Установлен флажок? Список сообщений пользовательских типов сообщений, упорядоченных по условиям пользовательской таксономии?

СЕССИЯ в разработке плагинов WordPress

Мне интересно, что сеанс отключен в WordPress. Я пытаюсь найти некоторую информацию об использовании переменных сеанса в wordpress. Я попытался использовать следующий метод для реализации переменных сеанса на сайте wordpress.

Я пробовал этот путь.

<?php session_start(); $_SESSION['firstname'] = $_POST['firstname']; ?> 

Если я повторяю $_SESSION['firstname'] это не происходит. Поэтому я искал Google, чтобы найти причину, почему она не поддерживает.

 function register_session() { if (!session_id()) session_start(); } add_action('init', 'register_session'); 

Этот вышеописанный метод я попытался и реализовал, но он также не работает.

Прямо сейчас я интегрирую сессию в плагин, поэтому я не хочу редактировать основной файл. Потому что я делаю разработку пользовательского плагина.

Как включить сеанс в плагине WordPress. Любое предложение было бы здорово

Благодарю.

Solutions Collecting From Web of "СЕССИЯ в разработке плагинов WordPress"

Ваш код не кажется неправильным, я просто сделаю это – см. Мой ответ здесь. Итак, вопрос будет в том, что ваша сессия начнется? Попробуйте отладить это:

 // do you have a session id $s_id = session_id(); print_r($s_id); // can you declare a bogus session variable, yours might just be empty $_SESSION['bogus'] = 'bogus'; print_r($_SESSION['bogus']); 

Еще одним важным шагом является снижение приоритета вызова add_action() :

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

просто чтобы убедиться, что вы готовы к сеансу, прежде чем понадобится другое действие / функция.

В ваших плагинах используйте wp hook для хранения переменной сеанса.

 add_action('wp', 'start_my_session'); function start_my_session() { session_start(); $_SESSION['myvar'] = 'this is my var'; } 

Теперь вы можете получить доступ к нему из любого места. например:

 add_action('wp_footer', 'show_session_var'); function show_session_var() { if(isset($_SESSION['myvar'])) echo $_SESSION['myvar']; } 

Могут ли быть реализованы те же функции с переходными процессами ? то есть:

 set_transient( 'username', $_POST['firstname'], MINUTE_IN_SECONDS ); 

Тогда сеансы не нужны.