要实现WordPress中非活跃用户的自动注销(Log Out),你可以使用以下方法之一:插件或自定义功能代码。

方法一:使用插件

Lnactive Logout 自动退出非活跃的WordPress用户

  1. 在WordPress后台登录,进入“插件” > “添加新插件”。

  2. 在搜索框中输入“Idle User Logout”或类似的关键词来查找插件。

  3. 找到并安装一个适合你需求的插件,比如 "Idle User Logout" 插件。

  4. 安装并激活插件后,根据插件的设置选项来配置非活跃用户注销的时间和其他参数。

  5. 保存设置并测试插件,确保它按照你的要求注销非活跃用户。

方法二:使用自定义功能代码

如果你更喜欢通过自定义功能代码来实现非活跃用户注销,你可以使用以下代码示例:

function custom_idle_user_logout() {
    // 设置非活跃时间(以秒为单位)
    $idle_time = 1800; // 30分钟

    // 获取当前用户信息
    $current_user = wp_get_current_user();

    // 检查用户是否登录
    if ($current_user>ID !== 0) {
        // 获取用户上次活动时间
        $last_active = get_user_meta($current_user>ID, 'last_active_time', true);

        // 如果用户没有上次活动时间或已经超过非活跃时间,则注销用户
        if (!$last_active || (time()  $last_active) > $idle_time) {
            wp_logout();
        }
    }
}

// 添加用户活动时间
function custom_track_user_activity() {
    $current_user = wp_get_current_user();
    if ($current_user>ID !== 0) {
        update_user_meta($current_user>ID, 'last_active_time', time());
    }
}

// 添加定时任务,检查非活跃用户
function custom_schedule_idle_user_check() {
    if (!wp_next_scheduled('custom_idle_user_logout_event')) {
        wp_schedule_event(time(), 'minute', 'custom_idle_user_logout_event');
    }
}

// 注销非活跃用户定时任务回调
function custom_idle_user_logout_event_callback() {
    custom_idle_user_logout();
}

add_action('init', 'custom_schedule_idle_user_check');
add_action('wp_login', 'custom_track_user_activity');
add_action('custom_idle_user_logout_event', 'custom_idle_user_logout_event_callback');

将以上代码添加到你的主题的functions.php文件或使用自定义功能插件。这段代码的作用是:

检查用户是否已经登录,并且用户是否已经非活跃。
如果用户非活跃,将自动注销用户。

你可以根据需要调整 $idle_time 变量来设置非活跃用户注销的时间,单位是秒。在上述示例中,它被设置为30分钟(1800秒)。如果用户在指定时间内没有活动,他们将被注销。

请注意,使用自定义功能代码需要谨慎,特别是如果你不熟悉编程。在修改WordPress主题文件之前,请备份网站,并确保你知道如何访问和恢复它,以防出现问题。如果不确定如何执行这些操作,最好寻求专业开发人员的帮助。