修改 WordPress 用户登录 Cookie 过期时间修改 WordPress 用户登录 Cookie 过期时间修改 WordPress 用户登录 Cookie 过期时间修改 WordPress 用户登录 Cookie 过期时间
  • 文章
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

修改 WordPress 用户登录 Cookie 过期时间

发表 admin at 2025年9月22日
类别
  • 文章
标签

WordPress 登录会话过期时间

如果想减少登录 WordPress 的麻烦,本文可能会有所帮助。 默认情况下,WordPress 登录会话过期时间:
  • 未勾选"记住我"的超时时间为48小时。
  • 勾选"记住我"的超时时间为14天。
当登录 WordPress 仪表板时,如果选中“记住我”复选框,将保持登录状态14天,这样就可以执行发布文章等网站管理任务,而不必每次都登录。

延长这一期限

从安全角度来看,不建议延长此期限,但如果仅从特定设备执行管理任务,则可通过延长此期限将减少登录频率。

向当前主题的 functions.php 添加过滤器钩子

add_filter('auth_cookie_expiration', [$this, 'custom_cookie_expiration'], 99, 3);
function custom_cookie_expiration($expiration, $user_id, $remember) {
    return $remember ? 60*60*24*365 : 60*60*24*2;   // 勾选记住我:1年,未勾选:48小时
}
把上面的代码粘贴到当前主题的functions.php文件里,就可以把在勾选“记住我”的情况下把 Auth Cookie 的过期时间设置为365天,Auth Cookie 过期时间可以自行设定。

或者,将代码封装为 WordPress 插件

插件文件结构:

/wp-content/plugins/custom-login-timeout/
└── custom-login-timeout.php # 主插件文件

插件代码实现(custom-login-timeout.php)

<?php
/**
 * Plugin Name: Custom Login Timeout
 * Description: 修改 WordPress 登录会话过期时间,未勾选"记住我"的超时时间为 172800秒(48小时),勾选"记住我"的超时时间为 31536000秒(1年)
 * Version: 1.0.0
 * Author: 您的名称
 * License: GPL2
 */

if (!defined('ABSPATH')) exit;

class CustomLoginTimeout {
    public function __construct() {
        add_filter('auth_cookie_expiration', [$this, 'custom_cookie_expiration'], 99, 3);
    }

    public function custom_cookie_expiration($expiration, $user_id, $remember) {
        return $remember ? 60*60*24*365 : 60*60*24*2; // 记住我:1年 / 未勾选:48小时
    }
}

// 初始化插件
new CustomLoginTimeout();

插件安装与使用

  1. 文件部署:
    • 创建 custom-login-timeout 文件夹到 wp-content/plugins/
    • 将上述代码保存为 wp-content/plugins/custom-login-timeout.php
  2. 激活插件:
    • 登录 WordPress 后台 → 插件 → 启用 "Custom Login Timeout"

生效

  • 清除浏览器缓存和 Cookie 后重新登录。

验证修改是否生效

通过浏览器开发者工具查看,以 Chrome 浏览器 为例:
  1. 登录 WordPress 后台:访问网站后台(如 https://yourdomain.com/wp-admin),完成登录。
  2. 打开开发者工具:
    • 右键点击页面 → 选择“检查”或按 F12 / Ctrl+Shift+I。
  3. 定位 Cookie:
    • 切换到 Application(应用)标签页。
    • 左侧菜单选择 Storage → Cookies → https://yourdomain.com。
  4. 查看 Cookie 详情:
    • 找到名为 wordpress_logged_in_[hash] 的 Cookie([hash] 是随机生成的字符串)。
    • 查看 Expires/Max-Age 字段,显示具体过期时间(如 2026-09-22T12:00:00.000Z)。

注意:

当用户登录时会应用auth_cookie_expiration钩子,因此它不会影响已经登录的用户。

类别

  • 文章

Archives

©2015-2025 艾丽卡 support@alaica.com