web-dev-qa-db-fra.com

Déconnectez tous les utilisateurs de tous les emplacements après 24 heures

Bonne journée, experts. S'il vous plaît, j'ai besoin du code qui peut m'aider à connecter tous les utilisateurs connectés sur mon site WordPress à partir de tous les emplacements après une heure donnée.

Voici ce que j'ai jusqu'à présent:

add_action('wp_login','user_update_login'); 

// function fires when a user logs in 
function user_update_login($login) { 
    global $user_ID; 
    $user = get_userdatabylogin($login); 
    // save the current time when the user logged in 
    update_usermeta( $user->ID, 'last_login', time() ); 
}

function check_time_limit() { 
    // populate the user objects
    global $user_ID;
    get_currentuserinfo(); 
    // ...
}

Merci en prévision du soutien.

1
user2969052

Il y a peu de façons d'accomplir ce que vous voulez. Je ne vous donnerai aucune solution prête à l'emploi, mais juste une idée.

Première idée
Vous pouvez configurer le travail cron pour remplacer les clés d’authentification dans wp-config.php, vous pouvez les obtenir ici https://api.wordpress.org/secret-key/1.1/salt/ Ainsi, vous obligerez tous les utilisateurs à se reconnecter.

Deuxième idée
Créez une nouvelle fonction pour ajouter des méta de date d'utilisateur lors d'une connexion réussie. À chaque demande de page, raccordez une nouvelle fonction pour vérifier si la méta-valeur est supérieure à 24 heures, si c'est le cas, puis déconnectez un utilisateur spécifique.

3
Natan Zasepa