X

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

Snippets by 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 d’un utilisateur dans WordPress.

Instructions:

Tout ce que vous avez à faire est d’ajouter ce code dans le fichier functions.php de votre thème ou dans un plugin spécifique à votre 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 dernière connexion. Vous pouvez également vouloir afficher la date de connexion précédente à vos utilisateurs. Utilisez simplement iiwp_get_last_login($current_user->ID,true)) pour obtenir la date de connexion précédente et non 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é supprimées, notamment get_userdatabylogin(). Veuillez utiliser le code ci-dessus car il s’agit de la version la plus récente 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 'Votre dernière connexion:' ; 
         get_last_login($userdata->ID) ; 
?>

Note : Si c’est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la façon 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 comme : 23 astuces efficaces pour obtenir plus d’abonnés par email aujourd’hui et comment créer un formulaire WordPress avec un sélecteur de date.

Commentaires   laisser une réponse

  1. how to show last login time and date of all users as a list

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

  3. Great sharing. Really helpful and informative article. Thanks for sharing with us.

  4. Web design Cheshire mai 12, 2017 à 8:24 am

    Really handy code here. Thank you.

  5. Toque de Silencio mai 5, 2017 à 6:10 am

    Hi,
    I´m new in snippets, so how show I this (or any) snippet in frontend?

  6. Danielconde Uy mars 20, 2012 à 1:51 pm

    Deprecated

  7. Hi! Great code, thanks a lot! I have a question though: would it be possible to have a list of all the users showing if they’re connected and the last time they logged in if they’re not?

    I think it would be a very interesting information for any admin working with multiple contributors.

    Thanks again 😉

    1. Thanks glad you like the snippet. This could be done but to that extent I think a plugin would be best suited a few plugins are available.

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

      1. Looks like a great plugin although a little outdated but I will try it, thanks!

      2. Thanks Kevin,

        Will test that.
        Take care / Lars

  8. Great, I shall test it.

    BUT, do you know where to find the code for being able to see how many times each user login to wordpress and also the last date. (MySQL database to being able to get the lost out?
    Regards / Lars

    1. Well the above will handle the last login date, however the number of times a user has logged in could be done. Ill have to see about adding that as a snippet I looked but could not find anything.

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 privacy policy, et que tous les liens sont en nofollow. N'utilisez PAS de mots-clés dans le champ du nom. Engageons une conversation personnelle et constructive.

WordPress Launch Checklist

L'ultime liste de contrôle pour le lancement de WordPress

Nous avons rassemblé 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 le gratuit !