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 的方法就介紹到此,你可以透過以上程式碼舉一反三。