Mostrar el último login de un usuario

Puede resultar interesante que queramos informar a nuestros usuarios de WordPress cuando hicieron el último login, y mostrar algunos de sus datos, como su nombre.

Para ello vamos a crear un shortcode que podemos incluirlo dentro de nuestro archivo functions.php, en un plugin o incluso dentro del código de nuestra plantilla.

Vamos a empezar viendo el código con el que vamos a trabajar:

/**
 * Captura el login del usuario y añade la fecha del login a los meta datos del usuario
 */

function user_last_login( $user_login, $user ) {
    update_user_meta( $user->ID, 'last_login', time() );
}
add_action( 'wp_login', 'user_last_login', 10, 2 );

/**
 * Muestra el tiempo desde el último login
 */
 
function wpb_lastlogin() { 
    $last_login = get_the_author_meta('last_login');
    $author = get_the_author_meta('nickname');
    $the_login_date = human_time_diff($last_login);
    $the_last_login = $author . ' ' . $the_login_date;
    return $the_last_login; 
} 

/**
 * Añade el shortcode de lastlogin
 */
 
add_shortcode('lastlogin','wpb_lastlogin');

Este código añade la última fecha en la que se hace login en los metadatos del usuario, modificándose cada vez que el usuario se loguea. De hecho para que se empiece a ver resultados el usuario tiene que reloguearse.

Para que funcione, es tan sencillo como escribir el shortcode [lastlogin].

También podemos usarlo dentro de nuestra plantilla usando el siguiente código:

<?php echo do_shortcode('[lastlogin]'); ?>

Si queremos poner la fecha de la última entrada en lugar del tiempo que hace del último login tan solo tenemos que cambiar la línea 17 por esta otra donde modificamos el formato del objeto Date:

$the_login_date = date('M j, Y h:i a', $last_login);

En este código estamos usando la función get_the_author_meta() y como siempre en el codex de wordpress podemos aprender mucho más de su uso.

Ver cuando se han conectado los usuarios al sistema

Puede ser interesante el saber cuando se han conectado los usuarios de tu web al sistema, para ello podemos usar un plugin tipo WP las login que nos abre un punto más la tabla de usuarios desde el panel de control y nos muestra el último día en el que entró el usuario:

wplastlogin Para poder ver el resultado de este plugin los usuarios también se deben de loguear.