Vamos a cambiar la duración del período de vencimiento de las cookies de autenticación.
Esto será muy sencillo, solo debemos utilizar el siguiente bloque de código y copiarlo en nuestro functions.php
// Haremos un filtro en 'auth_cookie_expiration' e inyectaremos la función de 'log_out'
add_filter('auth_cookie_expiration', 'log_out',10,3);
// Esta función recibe El tiempo de expiración, el id del usuario , un boolean de recordar al usuario
// La función regresa la expiración.
function log_out($expiry, $user_id, $remember) {
return 3600; // el tiempo que quieres que pase hasta que quieras que expire. Esto aplica a todos los usuarios.
}
Otro ejemplo. Sí el usuario es administrador y quieres que su sesión dure mas tiempo.
// Haremos un filtro en 'auth_cookie_expiration' e inyectaremos la función de 'log_out'
add_filter('auth_cookie_expiration', 'log_out',10,3);
// Esta función recibe El tiempo de expiración, el id del usuario , un boolean de recordar al usuario
// La función regresa la expiración.
function log_out($expiry, $user_id, $remember) {
$usuario
= wp_get_current_user();
// Obtenemos el usuario actual
$allowed_roles
= array('administrator');
// Podemos agregarle otro rol en caso de que el admin cuente con otro rol.
// Comparamos los dos arreglos
if( array_intersect($allowed_roles, $usuario
->roles ) ) {
// Sí el arreglo coincide el tiempo de expiración será de 5hrs
$expiracion = 18000;
}
else{
// Caso contrario será de 1hr.
$expiracion = 3600;
}
return $expiracion; // Regresamos el valor de expiración
}