This snippet automatically logs out inactive users after a specified idle time. It improves admin panel security and protects user accounts on shared devices.
Features
- Auto logout inactive users
- Session timeout security
- Protects admin dashboard
- Reduces unauthorized access risk
function custom_auto_logout_idle_users()
{
if (is_user_logged_in()) {
$inactive_time_limit = 15 * 60;
if (isset($_SESSION['last_activity'])) {
$inactive_time = time() - $_SESSION['last_activity'];
if ($inactive_time > $inactive_time_limit) {
wp_logout();
wp_redirect(wp_login_url());
exit;
}
}
$_SESSION['last_activity'] = time();
}
}
add_action('init', 'custom_auto_logout_idle_users');
function custom_start_session()
{
if (!session_id()) {
session_start();
}
}
add_action('init', 'custom_start_session', 1);