WordPress automatisch uitloggen na inactiviteit voorkomen
WordPress kan gebruikers automatisch uitloggen wanneer een sessie te lang inactief is. Dat is veilig, maar kan ook onhandig zijn wanneer je langere tijd aan pagina’s, berichten of instellingen werkt.
Met een paar gerichte snippets kun je de sessieduur aanpassen, de uitlog-ervaring verbeteren en beter bepalen hoe WordPress omgaat met ingelogde gebruikers in het dashboard.
1. Login sessie verlengen
Met deze snippet verleng je de WordPress login sessie. Standaard blijft een gebruiker beperkt ingelogd, maar je kunt dat verhogen naar bijvoorbeeld 14 dagen.
/**
* WordPress login sessie verlengen
* standaard ±48 uur → hier 14 dagen
*/
add_filter('auth_cookie_expiration', function($expiration, $user_id, $remember){
if($remember){
return 1209600; // 14 dagen
}
return 172800; // 2 dagen
}, 99, 3);2. Alleen voor beheerders langer ingelogd blijven
Wil je de sessieduur alleen aanpassen voor beheerders, dan is deze variant veiliger. Zo blijven alleen admin-accounts langer actief en niet alle gebruikers.
/**
* Login sessie alleen voor beheerders verlengen
*/
add_filter('auth_cookie_expiration', function($expiration, $user_id, $remember){
$user = get_userdata($user_id);
if ($user && in_array('administrator', (array) $user->roles, true)) {
return 1209600; // 14 dagen
}
return $expiration;
}, 99, 3);3. Aangepaste melding tonen op de loginpagina na uitloggen
Wanneer iemand opnieuw moet inloggen, kun je een duidelijke melding tonen op de loginpagina. Dat maakt de ervaring net wat vriendelijker en duidelijker.
/**
* Aangepaste melding tonen op de loginpagina
*/
add_filter('login_message', function($message) {
if (isset($_GET['loggedout']) && $_GET['loggedout'] === 'true') {
$message .= 'Je bent uitgelogd. Log opnieuw in om verder te gaan.
';
}
return $message;
});4. Ingelogde gebruikers niet doorsturen naar wp-admin na login
Op sommige websites wil je gebruikers na het inloggen niet standaard naar het dashboard sturen, maar naar een specifieke pagina. Dat kan handig zijn voor ledenomgevingen of beheerders met een vaste startpagina.
/**
* Aangepaste login redirect
*/
add_filter('login_redirect', function($redirect_to, $requested_redirect_to, $user) {
if (isset($user->roles) && is_array($user->roles)) {
if (in_array('administrator', $user->roles, true)) {
return admin_url();
}
}
return home_url('/');
}, 10, 3);5. Veiligheid blijft belangrijk
Een langere sessieduur is handig, maar bedenk dat dit ook betekent dat een browser langer toegang houdt tot het dashboard. Gebruik deze aanpassing daarom bewust en vooral op apparaten die je vertrouwt.
