要实现WordPress中非活跃用户的自动注销(Log Out),你可以使用以下方法之一:插件或自定义功能代码。
方法一:使用插件
在WordPress后台登录,进入“插件” > “添加新插件”。
在搜索框中输入“Idle User Logout”或类似的关键词来查找插件。
找到并安装一个适合你需求的插件,比如 "Idle User Logout" 插件。
安装并激活插件后,根据插件的设置选项来配置非活跃用户注销的时间和其他参数。
保存设置并测试插件,确保它按照你的要求注销非活跃用户。
方法二:使用自定义功能代码
如果你更喜欢通过自定义功能代码来实现非活跃用户注销,你可以使用以下代码示例:
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主题文件之前,请备份网站,并确保你知道如何访问和恢复它,以防出现问题。如果不确定如何执行这些操作,最好寻求专业开发人员的帮助。