EDITAR: "EL PLUGIN A CONTINUACIÓN NO ESTÁ DISPONIBLE MÁS, ASÍ QUE UTILICE ESE PLUGIN EN LUGAR: WordPress Session Plugin "
Hay un buen complemento de WordPress adaptado de la clase de sesión CodeIgniter: WP Sessions Plugin .
Cuando activa el complemento, puede comenzar a usar el $session
objeto desde cualquier lugar de su tema ( $session
objeto siempre que sea global). Por ejemplo, para usar el objeto $ session en el header.php
archivo, simplemente agregue este código:
global $session;
Si usted es un desarrollador de complementos y desea adaptar este complemento con el suyo, también puede encontrar una versión independiente en el paquete. La documentación del complemento proporciona más información para los desarrolladores de complementos sobre cómo adaptarse a su proyecto.
Aquí hay algunas funciones útiles para desarrolladores de temas y complementos.
Puede agregar datos de sesión como este:
// One value
$session->set_userdata( 'username', 'john' );
// Passing array
$array = array(
'username' => 'john',
'email' => 'john@gmail.com'
);
$session->set_userdata( $array );
Para recuperar datos de sesión:
$session->userdata( 'username' );
Para obtener todos los datos de la sesión:
$session->all_userdata(); // returns array
Para eliminar un elemento de la sesión:
$session->unset_userdata( 'username' );
Para eliminar más elementos de la sesión:
$array = array(
'username' => '',
'email' => ''
);
$session->unset_userdata( $array );
También puede utilizar Flashdata que son datos de sesión que sólo estarán disponibles para la siguiente petición del servidor, a continuación, se borra automáticamente. Estos pueden ser muy útiles cuando se utilizan para los informativos o mensajes de estado (por ejemplo, “Producto ha sido eliminado”).
// 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' );
Para destruir la sesión:
$session->sess_destroy();
El complemento también admite códigos cortos . Puede imprimir cualquier dato de sesión en sus publicaciones o páginas:
[session key="username"]
Para llegar a segunda clave:
[session key="user_data" sec_key="display_name"]
Espero que esto ayude a alguien.