2014-09-26 61 views
1

我正在嘗試在WordPress中爲網站設置年齡驗證框。我使用jQuery Cookie來設置單擊按鈕時的cookie。一旦jQuery被點擊,jQuery將隱藏盒子,然後如果cookie已經設置,它不應該在隨後的頁面上顯示年齡驗證框。我在另一個沒有問題的網站上測試了這個功能,但是在當前的網站上它只有在以管理員身份登錄時才能正常工作。普通用戶可以在每個頁面上看到該框,即使我已經在Firebug中驗證過Cookie已設置。有任何想法嗎?當在WordPress中設置cookie時不返回正確的輸出

下面是我的網頁上的Cookie檢查:

<?php if(!isset($_COOKIE['consenting_age'])) { ?> 

    <div>Age Verification Box Here</div> 

<?php } ?> 

這裏的問題是一個鏈接到該網站http://cutlersartisan.wpengine.com/distilery/

+0

嗯...代碼看起來不錯,我和我可以看到該Cookie已設置。奇特。也許代碼沒有在你運行的版本中運行? – Luke 2014-09-26 15:24:46

+0

這讓我感覺更好。好吧,有點!它在主題中必定是相互矛盾的。 – 2014-09-26 15:56:54

回答

2

的問題與該wpengine已經實施見緩存Cookies and PHP Sessions,而不是下面

在您的網站尋找問題並不在PHP代碼,但你設置cookie的值

$j.cookie('consenting_age', 'yes', { expires: 30, path: '/', domain: '.cutlersartisan.wpengine.com' }); 

你的域名有一個。在前面

嘗試

$j.cookie('consenting_age', 'yes', { expires: 30, path: '/', domain: 'cutlersartisan.wpengine.com' }); 

或漏下域完全

$j.cookie('consenting_age', 'yes', { expires: 30, path: '/'}); 
+0

我開始時沒有使用域名,但我嘗試將域名添加爲最後一針。我只是刪除它再次沒有效果。它適用於我爲其管理員和用戶測試過的另一個站點,但當前網站僅適用於管理員。任何其他想法? – 2014-09-26 16:26:07

+1

http://wpengine.com/support/cookies-and-php-sessions/ 似乎wpengine使用緩存可能會破壞你的cookies – Martin 2014-09-26 17:02:01

+0

哇,這是非常有道理的。這可以解釋爲什麼它對管理員有用,因爲管理員關閉了緩存。我測試過的其他網站沒有運行在WPEngine上。我會打開一張票,並與他們簽出。我會讓你知道,如果這是訣竅! – 2014-09-26 21:20:27

相關問題