cookie 在網站中的運用非正常重要,很多投票網站就是依靠 cookie 技術來防止用户重複投票。很多大網站也有利用 cookie 來記錄用户上網行為以及習慣來改善網站,優化用户體驗。那麼下面小編舉個簡單的 WordPress 寫入 cookie 例子:

1 、在主題文件 functions.php 中添加以下代碼,以設置 cookie:

function set_newuser_cookie() {
if (!isset($_COOKIE['wxd_cookie'])) {
setcookie('wxd_cookie', 1, time()+1209600, COOKIEPATH, COOKIE_DOMAIN, false);
}
}
add_action('after_setup_theme', 'set_newuser_cookie');

2 、寫入 cookie 值之後的讀取與調用

if (isset($_COOKIE['wxd_cookie'])) {
echo '歡迎您再次訪問本站!';
}
else {
echo '歡迎新訪客';
}

這裏有一點需要注意,在 WordPress 中,任何 PHP 時間函數,例如 time() 返回的時間不正確,這些時間函數返回的都是 UTC+0 時區的時間,如果你想獲得你在 WordPress 後台–設置–常規中設置的時區時間,可以使用以下幾個 WordPress 的時間函數:

date_i18n('Y-m-d h:i:s');                   // 返回當地時間
current_time('timestamp');                  // 返回當地時間的 Unix 時間戳
current_time('mysql');                      // 返回適用於 MySQL 的時間格式
time() + get_option('gmt_offset') * 3600;   // 手工獲得當地時間的 Unix 時間戳

3 、 cookie 的失效時間也是需要注意的一個問題,服務器端的時間和客户端的時間可能會不一樣,所以會導致 cookie 失效時間可能跟你設想的不太一樣,所以如果你通過以上方法發送了 cookie,但是死活都獲取不到值,那麼你可以試試將 cookie 的失效時間設置長點。

好了,WordPress 中設置 Cookies 的方法就介紹到此,你可以通過以上代碼舉一反三。