WordPress 默認的用户登錄 Cookie(Auth Cookie) 過期時間並不算太長,在勾選了 「記住我」 的情況下為 14 天,否則為 48 小時。在常規使用的情況下,最長為 14 天的過期時間已經夠用,但如果要構建一個需要長期保持登錄狀態的項目的話,14 天顯然是不夠的。幸好 WordPress 提供了一個 hook 允許自行修改 Cookie 過期時間,只需要一個簡單的 filter 就可以實現。

add_filter('auth_cookie_expiration', 'custom_cookie_expiration', 99, 3);
function custom_cookie_expiration($expiration, $user_id = 0, $remember = true) {
if($remember) {
$expiration = 31536000;
}
return $expiration;
}

把上面的代碼粘貼到當前主題的 functions.php 文件裏,就可以把在勾選 「記住我」 的情況下把 Auth Cookie 的過期時間設置為 365 天,$expiration 為 Auth Cookie 過期時間的時間戳,你可以自行設定。