X

Comment capturer la date et l'heure de la dernière connexion des utilisateurs dans WordPress

Extraits par IsItWP

Vous cherchez un moyen de capturer la date et l'heure de la dernière connexion d'un utilisateur ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour capturer la date et l'heure de la dernière connexion des utilisateurs dans WordPress.

Instructions :

Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :

// set the last login date
add_action('wp_login','iiwp_set_last_login', 0, 2);
function iiwp_set_last_login($login, $user) {  
    $user = get_user_by('login',$login);
    $time = current_time( 'timestamp' );
    $last_login = get_user_meta( $user->ID, '_last_login', 'true' );

    if(!$last_login){
    update_usermeta( $user->ID, '_last_login', $time );
    }else{
    update_usermeta( $user->ID, '_last_login_prev', $last_login );
    update_usermeta( $user->ID, '_last_login', $time );
    }

}

// get last login date
function iiwp_get_last_login($user_id,$prev=null){

  $last_login = get_user_meta($user_id);
  $time = current_time( 'timestamp' );

  if(isset($last_login['_last_login_prev'][0]) && $prev){
          $last_login = get_user_meta($user_id, '_last_login_prev', 'true' );
  }else if(isset($last_login['_last_login'][0])){
          $last_login = get_user_meta($user_id, '_last_login', 'true' );
  }else{
    update_usermeta( $user_id, '_last_login', $time );
    $last_login = $last_login['_last_login'][0];
  }

  return $last_login;
}

Vous pouvez ensuite utiliser le code suivant pour afficher la date de la dernière connexion. Vous voudrez peut-être aussi montrer la date de la connexion précédente à vos utilisateurs. Utilisez simplement iiwp_get_last_login($current_user->ID,true)) pour obtenir la date de la connexion précédente, pas la date actuelle.

  // show last login date
  global $current_user;
  get_currentuserinfo();
  echo '<p>Previous: Login date: ' . date("Y-m-d h:m:s", iiwp_get_last_login($current_user->ID,true)) . '</p>';
  echo '<p>Current: Login date: ' . date("Y-m-d h:m:s", iiwp_get_last_login($current_user->ID)) . '</p>';

Vous pouvez également comparer la date de la dernière connexion à la date actuelle et obtenir le nombre de jours depuis la dernière connexion avec le code suivant.

  // how many days since last login
  global $current_user;
  get_currentuserinfo();

  $now = time();
  $last_login = iiwp_get_last_login($current_user->ID,true);
  $datediff = $now - $last_login;

  echo '<p>Days since last login: ' . floor($datediff/(60*60*24)) . '</p>';


Certaines fonctions de l'ancienne version ci-dessous ont été dépréciées, y compris get_userdatabylogin(). Veuillez utiliser le code ci-dessus car il s'agit de la version la plus actuelle utilisant get_user_by().

function your_last_login($login) {
    global $user_ID;
    $user = get_userdatabylogin($login);
    update_usermeta($user->ID, 'last_login', current_time('mysql'));
}
add_action('wp_login','your_last_login');

function get_last_login($user_id) {
    $last_login = get_user_meta($user_id, 'last_login', true);
    $date_format = get_option('date_format') . ' ' . get_option('time_format');
    $the_last_login = mysql2date($date_format, $last_login, false);
    echo $the_last_login;
}
<?php
         global $userdata;
         get_currentuserinfo();
         echo  'You last logged in:'; 
         get_last_login($userdata->ID); 
?>

Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière d'ajouter correctement des extraits de code dans WordPress, afin de ne pas endommager accidentellement votre site.

Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 23 astuces efficaces pour obtenir plus d'abonnés par e-mail dès aujourd'hui et comment créer un formulaire WordPress avec un sélecteur de date

Commentaires   Laisser une réponse

  1. comment afficher l'heure et la date de la dernière connexion de tous les utilisateurs sous forme de liste

  2. dans show last login date time format is wrong. please correct it. h:i:s is correct

  3. Super partage. Article vraiment utile et informatif. Merci de partager avec nous.

  4. Web design Cheshire May 12, 2017 at 8:24 am

    Code vraiment pratique ici. Merci.

  5. Toque de Silencio May 5, 2017 at 6:10 am

    Salut,
    Je suis nouveau dans les snippets, alors comment puis-je afficher ce snippet (ou n'importe quel autre) sur le frontend ?

  6. Danielconde Uy March 20, 2012 at 1:51 pm

    Déprécié

  7. Salut ! Super code, merci beaucoup ! J'ai une question cependant : serait-il possible d'avoir une liste de tous les utilisateurs montrant s'ils sont connectés et la dernière fois qu'ils se sont connectés s'ils ne le sont pas ?

    Je pense que ce serait une information très intéressante pour tout administrateur travaillant avec plusieurs contributeurs.

    Merci encore 😉

    1. Merci, content que l'extrait vous plaise. Cela pourrait être fait, mais à ce niveau, je pense qu'un plugin serait le plus adapté, quelques plugins sont disponibles.

      http://wordpress.org/extend/plugins/who-is-online/

      1. Cela ressemble à un excellent plugin, bien qu'un peu obsolète, mais je vais l'essayer, merci !

      2. Merci Kevin,

        Je vais tester ça.
        Prends soin de toi / Lars

  8. Super, je vais le tester.

    MAIS, savez-vous où trouver le code pour pouvoir voir combien de fois chaque utilisateur se connecte à WordPress et aussi la dernière date. (Base de données MySQL pour pouvoir obtenir les informations ?
    Cordialement / Lars

    1. Eh bien, ce qui précède gérera la date de dernière connexion, cependant le nombre de fois qu'un utilisateur s'est connecté pourrait être fait. Je devrai voir comment ajouter cela comme extrait. J'ai cherché mais je n'ai rien trouvé.

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !