Möchten Sie das letzte Anmeldedatum und die letzte Uhrzeit eines Benutzers erfassen? Es gibt wahrscheinlich ein Plugin dafür, aber wir haben einen schnellen Code-Schnipsel erstellt, den Sie verwenden können, um das letzte Anmeldedatum und die letzte Uhrzeit eines Benutzers in WordPress zu erfassen.
Anweisungen:
Sie müssen diesen Code nur zur functions.php-Datei Ihres Themes oder in ein websitespezifisches Plugin einfügen:
// 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;
}
Sie können dann den folgenden Code verwenden, um das letzte Anmeldedatum anzuzeigen. Möglicherweise möchten Sie Ihren Benutzern auch das vorherige Anmeldedatum anzeigen. Verwenden Sie einfach iiwp_get_last_login($current_user->ID,true)), um das vorherige Anmeldedatum und nicht das aktuelle zu erhalten.
// 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>';
Sie können auch das letzte Anmeldedatum mit dem aktuellen Datum vergleichen und die Tage seit der letzten Anmeldung mit dem folgenden Code ermitteln.
// 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>';
Einige Funktionen in der alten Version wurden als veraltet eingestuft, einschließlich get_userdatabylogin(). Bitte verwenden Sie den obigen Code, da dies die aktuellste Version ist, die get_user_by() verwendet.
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);
?>
Hinweis: Wenn Sie zum ersten Mal Code-Schnipsel in WordPress hinzufügen, lesen Sie bitte unseren Leitfaden, wie Sie Code-Schnipsel richtig in WordPress hinzufügen, damit Sie Ihre Website nicht versehentlich beschädigen.
Wenn Ihnen dieser Code-Schnipsel gefallen hat, sollten Sie sich unsere anderen Artikel auf der Website ansehen, wie z. B.: 23 effektive Tipps, um noch heute mehr E-Mail-Abonnenten zu gewinnen und So erstellen Sie ein WordPress-Formular mit einem Datumsauswahlfeld
So zeigen Sie das letzte Anmeldedatum und die letzte Uhrzeit aller Benutzer als Liste an
In der Anzeige des letzten Anmeldedatums und der letzten Uhrzeit ist das Format falsch. Bitte korrigieren Sie es. h:i:s ist korrekt
Großartige Weitergabe. Wirklich hilfreicher und informativer Artikel. Danke fürs Teilen.
Wirklich nützlicher Code hier. Vielen Dank.
Hallo,
Ich bin neu bei Snippets, wie zeige ich dieses (oder irgendein) Snippet im Frontend an?
Veraltet
Hallo! Toller Code, vielen Dank! Ich habe jedoch eine Frage: Wäre es möglich, eine Liste aller Benutzer anzuzeigen, die zeigt, ob sie verbunden sind und wann sie sich das letzte Mal angemeldet haben, falls sie es nicht sind?
Ich denke, das wären sehr interessante Informationen für jeden Administrator, der mit mehreren Mitwirkenden arbeitet.
Nochmals vielen Dank 😉
Danke, freut mich, dass dir der Snippet gefällt. Das könnte man machen, aber in diesem Umfang wäre ein Plugin am besten geeignet, es gibt einige Plugins.
http://wordpress.org/extend/plugins/who-is-online/
Sieht nach einem tollen Plugin aus, wenn auch etwas veraltet, aber ich werde es ausprobieren, danke!
Danke Kevin,
Werde das testen.
Mach's gut / Lars
Großartig, ich werde es testen.
ABER, weißt du, wo man den Code finden kann, um zu sehen, wie oft sich jeder Benutzer bei WordPress anmeldet und auch das letzte Datum. (MySQL-Datenbank, um die verlorene Liste zu erhalten?
Viele Grüße / Lars
Nun, das oben genannte wird das letzte Anmeldedatum behandeln, aber die Anzahl der Anmeldungen eines Benutzers könnte gemacht werden. Ich muss sehen, ob ich das als Snippet hinzufügen kann. Ich habe nachgesehen, aber nichts gefunden.