WordPress: dernière visite d’un utilisateur – Part 1
1 août 2012Il n’existe pas d’origine de fonction permettant de loguer la visite des utilisateurs dans wordpress. Si vous souhaitez connaitre la date de dernière visite d’un utilisateur vous n’avez aucune possibilité mis à par l’utilisation de pluggin. Pourtant cette fonction peut être utiles si vous souhaitez par exemple connaitre le nombre de visiteurs (connectés) depuis les X derniers jours ou les X derniers visiteurs (connectés) sur le blog.
Or les pluggin sont souvent consommateur de mémoire et comme chez certain hébergeur la mémoire disponible pour l’exécution des script est assez faible il faut trouver d’autre solution…
Je me suis donc créer un toute petite fonction qui va ajouter dans la table wp_usermeta la meta_key last_visit_time. Qui enregistrera pour chaque visite des utilisateur connecté au blog l’heure de visite.
<?php
//Enregistre les visites des users connecté à wp
function wp_log_last_visit(){
$time_between2log=3600; // temps en seconde entre 2 log
$current_user = wp_get_current_user();
if ( 0 == $current_user->ID ) { // si l’utilisateur n’est pas connecté
$userID= “0″;
}
else { // sinon on récupère son ID
$userID= $current_user->ID;
}
// Requette sql qui permet de connaitre la date de dernière visite de l’utilisateur sur le blog
$sql=”select meta_value from `wp_usermeta` where user_id= “.$userID.” and meta_key like ‘last_visit_time‘”;
$query = mysql_query($sql);
$donnees = mysql_fetch_array($query) ;
$last_visit_time=$donnees['meta_value'];
// si première visite
if ($last_visit_time == ”){
$sql= “INSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`)
VALUES (NULL, ‘”.$userID.”‘, ‘last_visit_time’, ‘”.date(‘U’).”‘); “;
$query = mysql_query($sql);
}
// si visite précedente plus vielle de x secondes
elseif ((date(‘U’) – $last_visit_time ) > $time_between2log ){
$sql= “UPDATE `wp_usermeta` set meta_value = ‘”.date(‘U’).” ‘ WHERE `meta_key` LIKE ‘last_visit_time’ and user_id = “.$userID;
$query = mysql_query($sql);
}
else {
// ne rien faire
}
}
?>
Il suffit d’ajouter l’appel à la fonction dans votre footer (my_footer.php) et le tour et joué !
<?php wp_log_last_visit(); ?>
Pour afficher au tableau avec les X dernières visites ou les visites depuis Y jours c’est par ici : WordPress: dernière visite d’un utilisateur – Part 2
Si cet article vous a intéressé n’hésitez pas à vous abonner aux flux RSS
ou directement
par Mail.