РЕДАКТУВАТИ: "ПЛЮГІН НІЖ НЕ ДОСТУПНИЙ, ТАКОЖ ЗАБУДУЙТЕ ВИКОРИСТОВУВАТИ ПЛУГІН: Плагін WordPress Session "
Є хороший плагін WordPress, адаптований з класу сесії CodeIgniter: WP Sessions Plugin .
Коли ви активуєте плагін, ви можете почати використовувати $session
об’єкт з будь-якої точки теми ( $session
об'єкт до тих пір, як глобальний). Наприклад, щоб використовувати об’єкт $ session у header.php
файл, просто додайте цей код:
global $session;
Якщо ви розробник плагінів і хочете адаптувати цей плагін під свій, ви можете знайти окрему версію і в пакеті. Документація плагіна надає більше інформації розробникам плагінів про те, як адаптуватися до вашого проекту.
Ось кілька корисних функцій як для розробників тем, так і для плагінів.
Ви можете додати дані сеансу так:
// One value
$session->set_userdata( 'username', 'john' );
// Passing array
$array = array(
'username' => 'john',
'email' => 'john@gmail.com'
);
$session->set_userdata( $array );
Щоб отримати дані сеансу:
$session->userdata( 'username' );
Щоб отримати всі дані сеансу:
$session->all_userdata(); // returns array
Щоб видалити один елемент із сеансу:
$session->unset_userdata( 'username' );
Щоб видалити більше елементів із сеансу:
$array = array(
'username' => '',
'email' => ''
);
$session->unset_userdata( $array );
Ви також можете використовувати Flashdata , дані про сеанси, які будуть доступні лише для наступного запиту сервера, після чого автоматично очищаються. Вони можуть бути дуже корисними, коли ви використовуєте їх для інформаційних або статусних повідомлень (наприклад, "Продукт видалено").
// Add Flashdata
$session->set_flashdata( 'item', 'value' );
// Retrieve Flashdata
$session->flashdata( 'item' );
// Preserving flashdata
// (if you need to preserve flashdata through an additional request,
// you can use this function):
$session->keep_flashdata( 'item' );
Щоб знищити сеанс:
$session->sess_destroy();
Плагін також підтримує короткі коди . Ви можете надрукувати будь-які дані сеансу на своїх публікаціях або сторінках:
[session key="username"]
Щоб дійти до другої клавіші:
[session key="user_data" sec_key="display_name"]
Я сподіваюся, що це комусь допомагає.