DÜZENLEME: "AŞAĞIDAKİ PLUGIN DAHA FAZLA KULLANILAMIYOR, LÜTFEN PLUGIN INSTEAD: WordPress Session Plugin "
CodeIgniter Session sınıfından uyarlanmış iyi bir WordPress Eklentisi var: WP Sessions Plugin .
Eklentiyi etkinleştirdiğinizde, $session
temanızın herhangi bir yerinden ( $session
global olduğu sürece nesne) nesne kullanmaya başlayabilirsiniz . Örneğin, $ session nesnesini header.php
dosyaya kullanmak için şu kodu eklemeniz yeterlidir:
global $session;
Bir eklenti geliştiricisiyseniz ve bu eklentiyi kendinize uyarlamak istiyorsanız , pakette bağımsız bir sürüm de bulabilirsiniz . Eklentinin dokümantasyonu, eklenti geliştiricilerine projenize nasıl adapte olacakları hakkında daha fazla bilgi verir.
İşte hem tema hem de eklenti geliştiricileri için bazı yararlı işlevler.
Bunun gibi oturum verileri ekleyebilirsiniz :
// One value
$session->set_userdata( 'username', 'john' );
// Passing array
$array = array(
'username' => 'john',
'email' => 'john@gmail.com'
);
$session->set_userdata( $array );
Oturum verilerini almak için :
$session->userdata( 'username' );
Tüm oturum verilerini almak için :
$session->all_userdata(); // returns array
Bir öğeyi oturumdan kaldırmak için :
$session->unset_userdata( 'username' );
Oturumdan daha fazla öğe kaldırmak için :
$array = array(
'username' => '',
'email' => ''
);
$session->unset_userdata( $array );
Ayrıca , yalnızca bir sonraki sunucu isteği için kullanılabilecek oturum verileri olan Flash verileri de otomatik olarak temizlenir. Bunlar bilgi veya durum mesajları için kullandığınızda çok yararlı olabilir (örn. “Ürün silindi”).
// 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' );
Oturumu yok etmek için:
$session->sess_destroy();
Eklenti ayrıca kısa kodları da destekler . Yayınlarınıza veya sayfalarınıza oturum verilerini yazdırabilirsiniz:
[session key="username"]
İkinci anahtara ulaşmak için:
[session key="user_data" sec_key="display_name"]
Umarım bu birisine yardımcı olur.