È sufficiente aggiungere questo codice in functions.php del vostro tema:
add_filter('auth_cookie_expiration', 'my_expiration_filter', 99, 3);
function my_expiration_filter($seconds, $user_id, $remember){
//if "remember me" is checked;
if ($remember) {
//WP defaults to 2 weeks;
$expiration = 14*24*60*60; //UPDATE HERE;
} else {
//WP defaults to 48 hrs/2 days;
$expiration = 2*24*60*60; //UPDATE HERE;
}
//http://en.wikipedia.org/wiki/Year_2038_problem
if (PHP_INT_MAX - time() < $expiration) {
//Fix to a little bit earlier!
$expiration = PHP_INT_MAX - time() - 5;
}
return $expiration;
}
fonte
2014-01-25 21:55:29
Questo cambia il tempo di scadenza dei cookie, o il tempo di scadenza sessione sul server? Non sono la stessa cosa e cambiando semplicemente il tempo di scadenza dei cookie non si attenua il rischio per la sicurezza di sessioni più lunghe. – Andrew
Sorprendentemente, WordPress non usa affatto le sessioni PHP. Usa solo i cookie. E usa un numero di questi con nomi hash, quindi non vuoi fare confusione con loro direttamente, farlo in modo WordPress con filtri come questo o chiamando le API di WordPress. Per esempio. se si desidera disconnettere l'utente corrente, è possibile chiamare wp_clear_auth_cookie(), http://codex.wordpress.org/Function_Reference/wp_clear_auth_cookie – sootsnoot
Full disclosure: WordPress * core * non utilizza sessioni. È possibile che alcuni plugin potrebbero. Dovresti cercare il codice sorgente dei tuoi plugin se vuoi essere sicuro. Prendo atto che il riferimento nella risposta accettata è un articolo sul controllo della durata della sessione PHP, che non influisce sullo stato di accesso di un utente di WordPress. – sootsnoot