WordPressのKetai Styleで会員制サイトを作成する場合
WP-Membersとかと組み合わせる
Ktai Styleでは独自のセッションで実装されており、セッションの引き継ぎが難しい場合もあり。
携帯のIDを利用したカスタマイズの例
index.php に追加
set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . PATH_SEPARATOR . dirname(__FILE__) .’/lib’);
libフォルダを作って Net_UseAgent_Mobileをインストール
ktai-style/ktai_style.php の画面出力前に追加
output_add_rewrite_var(‘guid’, ‘ON’);
ktai-style/admin/class.php に追加
——-
public function setHash($dir, $id, $val){
// ファイルを書き出すディレクトリ
$_dir = $dir;
// 既にファイルが存在すれば削除する
@unlink(“{$_dir}/{$id}”);
// 書き出し
$fp = fopen(“{$_dir}/{$id}”, “a+”);
if (!(empty($fp))) {
flock($fp, LOCK_EX);
fputs($fp, $val);
flock($fp, LOCK_UN);
fclose($fp);
}
}
/**
* SESpreIDをファイル名として hashの値を取得するメソッド
*/
public function getHash($dir, $id){
return file_get_contents(“{$dir}/{$id}”);
}
——-
セッション開始メソッドの最後に端末IDをファイル名としてsidを書き出すように
public function set_session($user_id, $sid = NULL, $data = NULL, $remember = false) {
# 略
// 端末IDを取得してhashの値を取得
$agent = Net_UserAgent_Mobile::singleton();
$this->setHash(dirname(dirname(__FILE__)) . ‘/tmp’ , $agent->getUID(), $sid);
}
——-
セッション取得メソッドの最後に追加
public function get_sid() {
# 略
if (! is_string($sid) && ! is_numeric($sid)) {
// 端末IDを取得してhashの値を取得
$agent = Net_UserAgent_Mobile::singleton();
$sid = $this->getHash(dirname(dirname(__FILE__)) . ‘/tmp’ , $agent->getUID());
}
}
sidを引き継げます。
携帯端末IDをそのまま利用するのではなく、内部で文字列を足す等の処理を行ったほうがいいです。