jQueryでcookie生成をして、渡したクッキーに応じてページ切り替えをさせたいです。
多言語サイト(wordpress)なんですが言語ごとのクッキーを用意して、
そのページにいてもサイトの読み込み時に、もしクッキーを持っていなかったら言語スイッチを出し、一度でもスイッチを選んだらそのクッキーを渡します。
現状このようなコードです。ローカルで作業しています。
header.php↓
//言語スイッチ。display:noneで隠しておく <div class="Lang_cookie"> <ul class="Lang_cookie_switch"> <li class="Lang_cookie_switch_item" id="EN">English</li> <li class="Lang_cookie_switch_item" id="JP">Japanese</li> </ul> </div> //クッキーが取得されてるかどうかを確かめる <?php echo $_COOKIE["AAA"]; ?>
jquery↓
$(function(){ var cookie_save = $.cookie('AAA'); //クッキーごとに言語別に用意したサイトに移動させる if (cookie_save === 'EN') { window.location.href = "http://localhost/wp/en"; } else if(cookie_save === 'JP'){ window.location.href = "http://localhost/wp/"; }else { $('.Lang_cookie').show(); } //言語スイッチを押すとクッキーを保存。リロードさせる。 $('#EN').click(function(){ $.cookie('AAA', 'EN', { expires: 200 , path: '/' }); location.reload(); }); $('#JP').click(function(){ $.cookie('AAA', 'JP', { expires: 200 , path: '/' }); location.reload(); }); });
こんな具合なのですが、試しにENスイッチを押してみると、クッキーがENの値を受け取ってhttp://localhost/wp/enのURLに飛ぶまではいいんですが、そこでまた延々とリロードを連続で繰り替えしています。
cookieは取得されているので、if文が問題だと思いますが、いかんせん素人なもので原因がわかりません;;;
どこが間違っているのか、ご教授よろしくお願いいたします!
回答2件
あなたの回答
tips
プレビュー