編集:「以下のプラグインはもう利用できないので、プラグインの代わりに使用してください:WordPressセッションプラグイン」
CodeIgniter Sessionクラスから採用された優れたWordPressプラグイン、WP Sessions Pluginがあります。
プラグインをアクティブにする$session
と、テーマ内のどこからでもオブジェクトの使用を開始できます($session
グローバルな限りオブジェクト)。たとえば、$ sessionオブジェクトをheader.php
ファイルに使用するには、次のコードを追加するだけです:
global $session;
プラグイン開発者であり、このプラグインを自分のものに適合させたい場合は、パッケージにスタンドアロンバージョンもあります。プラグインのドキュメントは、プラグイン開発者にプロジェクトへの適応方法に関する詳細情報を提供します。
テーマ開発者とプラグイン開発者の両方に役立つ機能をいくつか紹介します。
次のようなセッションデータを追加できます。
// One value
$session->set_userdata( 'username', 'john' );
// Passing array
$array = array(
'username' => 'john',
'email' => 'john@gmail.com'
);
$session->set_userdata( $array );
セッションデータを取得するには:
$session->userdata( 'username' );
すべてのセッションデータを取得するには:
$session->all_userdata(); // returns array
セッションから1つのアイテムを削除するには:
$session->unset_userdata( 'username' );
セッションからさらにアイテムを削除するには:
$array = array(
'username' => '',
'email' => ''
);
$session->unset_userdata( $array );
また、次のサーバー要求でのみ使用できるセッションデータであるFlashdataを使用して、自動的にクリアすることもできます。これらは、情報メッセージまたはステータスメッセージ(「製品が削除されました」など)に使用する場合に非常に役立ちます。
// 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' );
セッションを破棄するには:
$session->sess_destroy();
プラグインはショートコードもサポートしています。投稿またはページにセッションデータを印刷できます。
[session key="username"]
2番目のキーに到達するには:
[session key="user_data" sec_key="display_name"]
これが誰かに役立つことを願っています。