EDIT: "LE PLUGIN CI-DESSOUS N'EST PLUS DISPONIBLE, DONC S'IL VOUS PLAÎT UTILISER CE PLUGIN AU LIEU: Plugin de session WordPress "
Il existe un bon plugin WordPress adapté de la classe Session CodeIgniter: WP Sessions Plugin .
Lorsque vous activez le plugin, vous pouvez commencer à utiliser un $session
objet de n'importe où dans votre thème ( $session
objet aussi long que global). Par exemple, pour utiliser l'objet $ session dans un header.php
fichier, ajoutez simplement ce code:
global $session;
Si vous êtes un développeur de plugins et que vous souhaitez adapter ce plugin au vôtre, vous pouvez également trouver une version autonome dans le package. La documentation du plugin donne plus d'informations aux développeurs de plugins sur la façon de s'adapter à votre projet.
Voici quelques fonctions utiles pour les développeurs de thèmes et de plugins.
Vous pouvez ajouter des données de session comme ceci:
// One value
$session->set_userdata( 'username', 'john' );
// Passing array
$array = array(
'username' => 'john',
'email' => 'john@gmail.com'
);
$session->set_userdata( $array );
Pour récupérer les données de session:
$session->userdata( 'username' );
Pour obtenir toutes les données de session:
$session->all_userdata(); // returns array
Pour supprimer un élément de la session:
$session->unset_userdata( 'username' );
Pour supprimer plus d'éléments de la session:
$array = array(
'username' => '',
'email' => ''
);
$session->unset_userdata( $array );
Vous pouvez également utiliser Flashdata, qui sont des données de session qui ne seront disponibles que pour la prochaine demande de serveur, qui sont ensuite automatiquement effacées. Ceux-ci peuvent être très utiles lorsque vous les utilisez pour des messages d' information ou d' état (par exemple, «Le produit a été supprimé»).
// 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' );
Pour détruire la session:
$session->sess_destroy();
Le plugin prend également en charge les shortcodes . Vous pouvez imprimer toutes les données de session sur vos publications ou pages:
[session key="username"]
Pour atteindre la deuxième clé:
[session key="user_data" sec_key="display_name"]
J'espère que cela aide quelqu'un.