Home / Admin / _MK – Last connection
Duplicate Snippet

Embed Snippet on Your Site

_MK – Last connection

<10
Code Preview
php
<?php
// Enregistre la date de connexion de l'utilisateur
function enregistrer_derniere_connexion($user_login, $user) {
    // Met à jour la date de la dernière connexion
    $last_login = current_time('mysql');
    update_user_meta($user->ID, 'last_login', $last_login);
    // Debug: Vérifie si la date est bien enregistrée
    if (false === get_user_meta($user->ID, 'last_login', true)) {
        error_log("La date de dernière connexion n'a pas été enregistrée pour l'utilisateur : " . $user->ID);
    }
}
add_action('wp_login', 'enregistrer_derniere_connexion', 10, 2);
// Ajoute une colonne dans la liste des utilisateurs
function ajouter_colonne_derniere_connexion($columns) {
    $columns['last_login'] = 'Dernière connexion';
    return $columns;
}
add_filter('manage_users_columns', 'ajouter_colonne_derniere_connexion');
// Affiche la date de dernière connexion dans la colonne
function afficher_derniere_connexion_colonne($value, $column_name, $user_id) {
    if ('last_login' === $column_name) {
        $last_login = get_user_meta($user_id, 'last_login', true);
        if ($last_login) {
            return date_i18n('d/m/Y H:i:s', strtotime($last_login)); // Format de date et heure : 13/12/2024 14:30:00
        } else {
            return 'Jamais connecté';
        }
    }
    return $value;
}
add_filter('manage_users_custom_column', 'afficher_derniere_connexion_colonne', 10, 3);
// Permet de trier les utilisateurs par dernière connexion
function colonne_derniere_connexion_triable($columns) {
    $columns['last_login'] = 'last_login';
    return $columns;
}
add_filter('manage_users_sortable_columns', 'colonne_derniere_connexion_triable');
// Ajoute la logique de tri par dernière connexion
function trier_par_derniere_connexion($query) {
    if (!is_admin() || !$query->is_main_query()) {
        return;
    }
    if ('last_login' === $query->get('orderby')) {
        $query->set('meta_key', 'last_login');
        $query->set('orderby', 'meta_value');
    }
}
add_action('pre_get_users', 'trier_par_derniere_connexion');

Comments

Add a Comment