X

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

Snippets de IsItWP

¿Está buscando una forma de capturar la fecha y hora del último inicio de sesión de un usuario? Si bien probablemente exista un plugin para esto, hemos creado un fragmento de código rápido que puede usar para capturar la fecha y hora del último inicio de sesión de los usuarios en WordPress.

Instrucciones:

Todo lo que tienes que hacer es agregar este código al archivo functions.php de tu tema o a 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;
}

Luego puede usar el siguiente código para mostrar la fecha del último inicio de sesión. También es posible que desee mostrar la fecha del inicio de sesión anterior a sus usuarios. Simplemente use iiwp_get_last_login($current_user->ID,true)) para obtener la fecha del 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 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 anterior a continuación han sido obsoletas, incluida get_userdatabylogin(). Utilice el código anterior, ya que es la versión más actual que utiliza 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); 
?>

Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo agregar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.

Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: 23 consejos efectivos 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. cómo mostrar la hora y fecha del último inicio de sesión de todos los usuarios como una lista

  2. en mostrar la hora y fecha del último inicio de sesión, el formato es incorrecto. por favor corríjalo. h:i:s es correcto

  3. Gran aporte. Artículo realmente útil e informativo. Gracias por compartir con nosotros.

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

    Código realmente útil aquí. Gracias.

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

    Hola,
    Soy nuevo en snippets, ¿cómo muestro este (o cualquier) snippet en el frontend?

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

    Obsoleto

  7. ¡Hola! Gran código, ¡muchas gracias! Sin embargo, tengo una pregunta: ¿sería posible tener una lista de todos los usuarios que muestre si están conectados y la última vez que iniciaron sesión si no lo están?

    Creo que sería una información muy interesante para cualquier administrador que trabaje con varios colaboradores.

    Gracias de nuevo 😉

    1. Gracias, me alegra que te guste el fragmento. Esto podría hacerse, pero hasta ese punto creo que un plugin sería lo más adecuado, hay algunos plugins disponibles.

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

      1. ¡Parece un gran plugin, aunque un poco desactualizado, pero lo probaré, gracias!

      2. Gracias Kevin,

        Probaré eso.
        Cuídate / Lars

  8. Genial, lo probaré.

    PERO, ¿sabes dónde encontrar el código para poder ver cuántas veces cada usuario inicia sesión en WordPress y también la última fecha? (Base de datos MySQL para poder obtener la última fecha).
    Saludos / Lars

    1. Bueno, lo anterior manejará la fecha del último inicio de sesión, sin embargo, el número de veces que un usuario ha iniciado sesión podría hacerse. Tendré que ver cómo agregar eso como un fragmento. Busqué pero no encontré nada.

Agrega un comentario

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

Lista de verificación para lanzar WordPress

La lista de verificación definitiva para lanzar WordPress

Hemos recopilado todos los elementos esenciales de la lista de verificación para el lanzamiento de tu próximo sitio web de WordPress en un práctico ebook.
¡Sí, envíame el eBook gratis!