Skip to main content
Login Join
Snippet · PHP

Automatically Logout Idle Users in WordPress

Shared by Bharat Kathiriya · June 1, 2026 · @init

28 views
1 upvote
Back to Snippets

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

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);
Know a different way to do this? Add your approach as a variation so folks can compare them side by side.
Submit a variation

0 comments