EDYCJA: „PONIŻSZA WTYCZKA NIE JEST DOSTĘPNA, NALEŻY UŻYWAĆ TEGO, ŻE WTYCZKA ZAINSTALOWAĆ: Wtyczka sesji WordPress ”
Istnieje dobra wtyczka WordPress zaadaptowana z klasy CodeIgniter Session: WP Sessions Plugin .
Po aktywowaniu wtyczki możesz zacząć używać $session
obiektu z dowolnego miejsca w motywie ( $session
obiekt tak długi, jak globalny). Na przykład, aby użyć obiektu sesji $ do header.php
pliku, wystarczy dodać ten kod:
global $session;
Jeśli jesteś programistą wtyczek i chcesz dostosować tę wtyczkę do swojej, możesz również znaleźć wersję autonomiczną w pakiecie. Dokumentacja wtyczki zawiera więcej informacji dla programistów wtyczek o tym, jak dostosować się do projektu.
Oto kilka przydatnych funkcji dla twórców motywów i wtyczek.
Możesz dodać dane sesji w ten sposób:
// One value
$session->set_userdata( 'username', 'john' );
// Passing array
$array = array(
'username' => 'john',
'email' => 'john@gmail.com'
);
$session->set_userdata( $array );
Aby pobrać dane sesji:
$session->userdata( 'username' );
Aby uzyskać wszystkie dane sesji:
$session->all_userdata(); // returns array
Aby usunąć jeden element z sesji:
$session->unset_userdata( 'username' );
Aby usunąć więcej elementów z sesji:
$array = array(
'username' => '',
'email' => ''
);
$session->unset_userdata( $array );
Możesz także użyć Flashdata, czyli danych sesji, które będą dostępne tylko dla następnego żądania serwera, a następnie zostaną automatycznie usunięte. Mogą one być bardzo przydatne, gdy używasz ich do komunikatów informacyjnych lub statusu (np. „Produkt został usunięty”).
// 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' );
Aby zniszczyć sesję:
$session->sess_destroy();
Wtyczka obsługuje także skróty . Możesz wydrukować dowolne dane sesji na swoich postach lub stronach:
[session key="username"]
Aby przejść do drugiego klucza:
[session key="user_data" sec_key="display_name"]
Mam nadzieję, że to komuś pomoże.