J'utilise le code ci-dessous pour savoir quand un utilisateur se connecte pour la dernière fois. Je réalise cependant que s'il vérifie l'option Remember Me
, cela ne suivra pas sa dernière visite .
// Catch the time they login and save it
function set_last_login($login) {
$user = get_userdatabylogin($login);
update_usermeta( $user->ID, 'last_login', current_time('mysql') );
}
add_action('wp_login', 'set_last_login');
// Function to display the time
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);
return $the_last_login;
}
En plus du code de travail ci-dessus pour le suivi des connexions, je cherche à savoir quand l'utilisateur a été actif pour la dernière fois s'il est déjà connecté .
Des conseils?
Vous pouvez créer une nouvelle entrée pour les métadonnées de l'utilisateur et la mettre à jour à chaque chargement d'administrateur.
Mettez ce qui suit dans le functions.php
de votre thème ou peut-être envelopper dans un plugin:
function update_last_action_time() {
$user = wp_get_current_user();
update_user_meta($user->ID, 'last_action_time', current_time('mysql'));
}
add_action('admin_init', 'update_last_action_time');
Bien sûr, vous pouvez affiner ceci (et ainsi réduire les frais généraux) en le limitant à certaines pages, par exemple, uniquement au tableau de bord.
// Edit : vous devez utiliser update_user_meta
à la place du code obsolète update_usermeta
.
// Edit , à nouveau
Si vous souhaitez suivre les utilisateurs sur le front-end, placez ce code dans le modèle souhaité:
if (is_user_logged_in()) {
$user = wp_get_current_user();
update_user_meta($user->ID, 'last_action_time', current_time('mysql'));
}
Encore une fois, pour réduire les frais généraux, je préférerais mettre ceci et non dans le fichier footer.php
. Je préfère prendre home.php
(si vous en avez un) ou vérifier des demandes particulières (par exemple, votre page d'accueil , ce qui signifie: home_url() == 'http://'.$_SERVER['SERVER_NAME']
). Mais comme dit précédemment (signification: en dessous;)), la surcharge est, bien sûr, ok quand on l'utilise néanmoins dans footer.php
.