web-dev-qa-db-fra.com

Prévenir l'expiration du délai de session

Je ne sais pas s'il s'agit d'un bogue ou de par leur conception, mais c'est sacrément agaçant. De temps en temps, plus encore après la mise à jour du noyau, alors que dans la section admin, je suis démarré avec le fameux message "Votre session a expiré". Étrange en soi car apparemment WP n'utilise pas de sessions. L'invite de connexion vient avec une case à cocher "Mémoriser mes informations", pourquoi ne s'en souvient-elle pas? Je suppose qu'il y a une distinction entre "souviens-toi de moi" et "garde-moi connecté" ici. J'ai désactivé tous les plugins, supprimé les cookies, essayé d'autres navigateurs et même crié à mon écran, mais je continue à me faire démarrer.

Est-ce que WP fixe une limite de temps d'interactivité dans la section admin? Quelqu'un pourrait-il expliquer ce que WP fait exactement pour que les utilisateurs restent connectés?.

7
Twifty

Par défaut, WordPress fait expirer votre cookie de session de connexion au bout de 48 heures (ou à la fermeture du navigateur) ou de 14 jours si vous cochez la case "Mémoriser mes informations".

Peut-être que vous avez des plugins qui forcent votre cookie de connexion à expirer.

Vous pouvez ajouter manuellement le code ci-dessous sur votre functions.php afin d’étendre l’expiration de votre cookie selon la période que vous souhaitez. En gros, vous pouvez empêcher WordPress de vous déconnecter en modifiant le nombre de secondes pour qu'il soit beaucoup plus long.

add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );
function keep_me_logged_in_for_1_year( $expirein ) {
    return 31556926; // 1 year in seconds
}

Ou vous pouvez aussi utiliser ce plugin pour changer le délai: Configurer le délai de connexion

J'espère que cela pourra aider!!

2
Aishan