X

Come acquisire la data e l'ora dell'ultimo accesso degli utenti in WordPress

Snippet di IsItWP

Stai cercando un modo per acquisire la data e l'ora dell'ultimo accesso di un utente? Sebbene probabilmente esista un plugin per questo, abbiamo creato un rapido snippet di codice che puoi utilizzare per acquisire la data e l'ora dell'ultimo accesso degli utenti in WordPress.

Istruzioni:

Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:

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

Puoi quindi utilizzare il seguente codice per visualizzare la data dell'ultimo accesso. Potresti anche voler mostrare la data dell'accesso precedente ai tuoi utenti. Usa semplicemente iiwp_get_last_login($current_user->ID,true)) per ottenere la data dell'accesso precedente, non quella corrente.

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

Puoi anche confrontare la data dell'ultimo accesso con la data corrente e ottenere i giorni trascorsi dall'ultimo accesso con il seguente codice.

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


Alcune funzioni nella vecchia versione sottostante sono state deprecate, inclusa get_userdatabylogin(). Si prega di utilizzare il codice sopra poiché è la versione più aggiornata che utilizza 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: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come aggiungere correttamente snippet di codice in WordPress, in modo da non compromettere accidentalmente il tuo sito.

Se ti è piaciuto questo snippet di codice, ti preghiamo di considerare la lettura dei nostri altri articoli sul sito come: 23 consigli efficaci per ottenere più iscritti via email oggi e come creare un modulo WordPress con un selettore di data

Commenti   Lascia una risposta

  1. come mostrare l'ora e la data dell'ultimo accesso di tutti gli utenti come elenco

  2. nel formato di visualizzazione dell'ora e della data dell'ultimo accesso è sbagliato. per favore correggilo. h:i:s è corretto

  3. Ottima condivisione. Articolo davvero utile e informativo. Grazie per aver condiviso con noi.

  4. Web design Cheshire 12 maggio 2017 alle 8:24

    Codice davvero utile qui. Grazie.

  5. Toque de Silencio 5 maggio 2017 alle 6:10

    Ciao,
    Sono nuovo nei frammenti, quindi come mostro questo (o qualsiasi) frammento nel frontend?

  6. Danielconde Uy 20 marzo 2012 alle 13:51

    Deprecato

  7. Ciao! Ottimo codice, grazie mille! Ho una domanda però: sarebbe possibile avere un elenco di tutti gli utenti che mostri se sono connessi e l'ultima volta che hanno effettuato l'accesso se non lo sono?

    Penso che sarebbe un'informazione molto interessante per qualsiasi amministratore che lavora con più collaboratori.

    Grazie ancora 😉

    1. Grazie, sono contento che ti piaccia lo snippet. Si potrebbe fare, ma a quel punto penso che un plugin sarebbe la soluzione migliore, sono disponibili alcuni plugin.

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

      1. Sembra un ottimo plugin anche se un po' datato, ma lo proverò, grazie!

      2. Grazie Kevin,

        Lo testerò.
        Stammi bene / Lars

  8. Ottimo, lo testerò.

    MA, sai dove trovare il codice per poter vedere quante volte ogni utente accede a WordPress e anche l'ultima data. (Database MySQL per poter estrarre i dati)?
    Saluti / Lars

    1. Bene, quanto sopra gestirà la data dell'ultimo accesso, tuttavia il numero di volte in cui un utente ha effettuato l'accesso potrebbe essere fatto. Dovrò vedere come aggiungerlo come snippet, ho cercato ma non ho trovato nulla.

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Checklist per il lancio di WordPress

La Guida Definitiva per il Lancio di WordPress

Abbiamo raccolto tutti gli elementi essenziali della checklist per il lancio del tuo prossimo sito web WordPress in un comodo ebook.
Sì, Inviami l'eBook Gratuito!