cookie在網(wǎng)站中的運(yùn)用非正常重要,,很多投票網(wǎng)站就是依靠cookie技術(shù)來防止用戶重復(fù)投票,。
很多大網(wǎng)站也有利用cookie來記錄用戶上網(wǎng)行為以及習(xí)慣來改善網(wǎng)站,,優(yōu)化用戶體驗(yàn)。那么下面舉個(gè)簡(jiǎn)單的wordpress寫入cookie例子:
1,、在主題文件functions.php中添加以下代碼,,以設(shè)置cookie:
function set_newuser_cookie() {if (!isset($_cookie['zyku_cookie'])) {setcookie('zyku_cookie', 1, time()+1209600, cookiePATH, cookie_DOMAIN, false);}}add_action('after_setup_theme', 'set_newuser_cookie');
2、寫入cookie值之后的讀取與調(diào)用
if (isset($_cookie['zyku_cookie'])) {echo '歡迎您再次訪問本站,!';}else {echo '歡迎新訪客';}
這里有一點(diǎn)需要注意,,在WordPress中,任何PHP時(shí)間函數(shù),,例如time()返回的時(shí)間不正確,,這些時(shí)間函數(shù)返回的都是UTC+0時(shí)區(qū)的時(shí)間,如果你想獲得你在WordPress后臺(tái)–設(shè)置–常規(guī)中設(shè)置的時(shí)區(qū)時(shí)間,,可以使用以下幾個(gè)WordPress的時(shí)間函數(shù):
date_i18n('Y-m-d h:i:s'); // 返回當(dāng)?shù)貢r(shí)間current_time('timestamp'); // 返回當(dāng)?shù)貢r(shí)間的 Unix 時(shí)間戳current_time('mysql'); // 返回適用于 MySQL 的時(shí)間格式time() + get_option('gmt_offset') * 3600; // 手工獲得當(dāng)?shù)貢r(shí)間的 Unix 時(shí)間戳
3,、cookie的失效時(shí)間也是需要注意的一個(gè)問題,,服務(wù)器端的時(shí)間和客戶端的時(shí)間可能會(huì)不一樣,所以會(huì)導(dǎo)致cookie失效時(shí)間可能跟你設(shè)想的不太一樣,,所以如果你通過以上方法發(fā)送了cookie,,但是死活都獲取不到值,那么你可以試試將cookie的失效時(shí)間設(shè)置長點(diǎn),。
好了,,WordPress中設(shè)置cookies的方法就介紹到此,你可以通過以上代碼舉一反三,。