EDIT: "O PLUGIN ABAIXO NÃO ESTÁ DISPONÍVEL, POR FAVOR, UTILIZE ESSE PLUGIN EM VEZ: Plugin de Sessão do WordPress "
Existe um bom Plugin WordPress adaptado da classe Session do CodeIgniter: WP Sessions Plugin .
Ao ativar o plug-in, você pode começar a usar o objeto $session
de qualquer lugar no seu tema ( $session
object, enquanto global). Por exemplo, para usar o objeto $ session no arquivo header.php
, basta adicionar este código:
global $session;
Se você é um desenvolvedor de plugins e quer adaptar este plugin com o seu, também pode encontrar versão autônoma no pacote. A documentação do plug-in fornece mais informações para os desenvolvedores de plug-ins sobre como se adaptar ao seu projeto.
Aqui estão algumas funções úteis para desenvolvedores de temas e plug-ins.
Você pode adicionar dados da sessão assim:
// One value
$session->set_userdata( 'username', 'john' );
// Passing array
$array = array(
'username' => 'john',
'email' => 'john@gmail.com'
);
$session->set_userdata( $array );
Para recuperar dados da sessão:
$session->userdata( 'username' );
Para obter todos os dados da sessão :
$session->all_userdata(); // returns array
Para remover um item da sessão:
$session->unset_userdata( 'username' );
Para remover mais itens da sessão:
$array = array(
'username' => '',
'email' => ''
);
$session->unset_userdata( $array );
Você também pode usar Flashdata , que são dados da sessão que estarão disponíveis somente para a próxima solicitação do servidor, e serão automaticamente limpos. Eles podem ser muito úteis quando você os usa para informativos ou mensagens de status (por exemplo, “Produto foi excluído”).
// 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 a sessão:
$session->sess_destroy();
O plug-in também suporta códigos de acesso . Você pode imprimir todos os dados da sessão em suas postagens ou páginas:
[session key="username"]
Para alcançar a segunda chave:
[session key="user_data" sec_key="display_name"]
Espero que isso ajude alguém.