EDIT: "IL PLUGIN QUI SOTTO NON È DISPONIBILE PIÙ, PER FAVORE UTILIZZARE QUESTO PLUGIN INSTEAD: Plugin Sessione WordPress "
Esiste un buon plugin per WordPress adattato dalla classe di sessione CodeIgniter: WP Sessions Plugin .
Quando si attiva il plug-in, è possibile iniziare a utilizzare l' $session
oggetto da qualsiasi punto del tema ( $session
oggetto purché globale). Ad esempio, per utilizzare l'oggetto $ session nel header.php
file, è sufficiente aggiungere questo codice:
global $session;
Se sei uno sviluppatore di plug-in e desideri adattare questo plug-in al tuo, puoi trovare anche la versione standalone nel pacchetto. La documentazione del plug-in fornisce ulteriori informazioni agli sviluppatori di plug-in su come adattarsi al proprio progetto.
Ecco alcune utili funzioni per gli sviluppatori di temi e plugin.
È possibile aggiungere i dati della sessione in questo modo:
// One value
$session->set_userdata( 'username', 'john' );
// Passing array
$array = array(
'username' => 'john',
'email' => 'john@gmail.com'
);
$session->set_userdata( $array );
Per recuperare i dati della sessione:
$session->userdata( 'username' );
Per ottenere tutti i dati della sessione:
$session->all_userdata(); // returns array
Per rimuovere un elemento dalla sessione:
$session->unset_userdata( 'username' );
Per rimuovere più elementi dalla sessione:
$array = array(
'username' => '',
'email' => ''
);
$session->unset_userdata( $array );
È inoltre possibile utilizzare Flashdata, ovvero i dati della sessione che saranno disponibili solo per la successiva richiesta del server, vengono quindi cancellati automaticamente. Questi possono essere molto utili quando li usi per messaggi informativi o di stato (ad es. "Il prodotto è stato eliminato").
// 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' );
Per distruggere la sessione:
$session->sess_destroy();
Il plugin supporta anche codici brevi . Puoi stampare qualsiasi dato di sessione sui tuoi post o pagine:
[session key="username"]
Per raggiungere la seconda chiave:
[session key="user_data" sec_key="display_name"]
Spero che questo aiuti per qualcuno.