X

Cómo capturar la fecha y hora del último inicio de sesión de un usuario en WordPress

Snippets by IsItWP

¿Está buscando una manera de capturar la última fecha y hora de inicio de sesión de un usuario? Si bien es probable que haya un plugin para esto, hemos creado un fragmento de código rápido que puede utilizar para capturar la última fecha y hora de inicio de sesión de los usuarios en WordPress.

Instrucciones:

Todo lo que tienes que hacer es añadir este código al archivo functions.php de tu tema o en un plugin específico del sitio:


// 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;
}

A continuación, puede utilizar el siguiente código para mostrar la última fecha de inicio de sesión. Es posible que también desee mostrar la fecha de inicio de sesión anterior a sus usuarios. Simplemente use iiwp_get_last_login($current_user->ID,true)) para obtener la fecha de inicio de sesión anterior no la actual.

  // 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>';

También puede comparar la fecha del último inicio de sesión con la fecha actual y obtener los días transcurridos desde el último inicio de sesión con el siguiente código.

  // 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>';


Algunas funciones de la versión antigua han sido obsoletas, incluyendo get_userdatabylogin(). Por favor, utilice el código anterior ya que es la versión más actual utilizando get_user_by().

function tu_último_acceso($acceso) {
    global $id_usuario;
    $user = get_usuario_id($login);
    update_usermeta($user->ID, 'last_login', current_time('mysql'));
}
add_action('wp_login','tu_último_acceso');

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 $el_último_ingreso;
}
<?php
         global $userdata;
         get_currentuserinfo();
         echo 'La última vez que te conectaste:'; 
         get_last_login($userdata->ID); 
?>

Nota: Si es la primera vez que añade fragmentos de código en WordPress, consulte nuestra guía sobre cómo añadir correctamente fragmentos de código en WordPress, para no romper accidentalmente su sitio.

Si te ha gustado este fragmento de código, por favor, considere la posibilidad de comprobar hacia fuera nuestros otros artículos en el sitio como: 23 consejos eficaces para conseguir más suscriptores de correo electrónico hoy y cómo crear un formulario de WordPress con un selector de fecha.

Comentarios   Deja una respuesta

  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 mayo 12, 2017 en 8:24 am

    Really handy code here. Thank you.

  5. Toque de Silencio mayo 5, 2017 en 6:10 am

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

  6. Danielconde Uy marzo 20, 2012 en 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.

Añadir un comentario

Nos alegra que haya decidido dejar un comentario. Tenga en cuenta que todos los comentarios se moderan de acuerdo con nuestra política de privacidad , y que todos los enlaces son nofollow. NO utilice palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.

WordPress Launch Checklist

La lista definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de comprobación para el lanzamiento de su próximo sitio web de WordPress en un práctico ebook.
Sí, envíeme el ¡gratuito!