Afficher un compteur de vues de chaque article de mon site

Afficher un compteur de vues de chaque article de mon site

Selon le thème WordPress que vous installez, on peut avoir ou non un compteur de vues de chaque article. Cette information peut être bonne à savoir pour connaitre les articles qui intéressent vos lecteurs.

Si dans votre thème cette information n’existe pas, on va pouvoir l’ajouter en insérant quelques lignes de codes.

Je vous propose une solution qui va vous permette d’avoir un compteur de vues.

1.Créer une fonction qui incrémente de 1 le nombre de vues d’un article :

function setPostViews($post_ID) {
    $count_metakey = 'post_views_count';
    $views = get_post_meta($post_ID, $count_metakey, true);
    if($views==''){
        $views = 0;
        delete_post_meta($post_ID, $count_metakey);
        add_post_meta($post_ID, $count_metakey, '0');
    }else{
        $views++;
        update_post_meta($post_ID, $count_metakey, $views);
    }
}

Il faut placer cette fonction dans le fichier functions.php de votre thème.

2. placer un appel à cette fonction dans le template single.php:

Il faut ensuite placer un appel à cette fonction dans le template single.php responsable de l’affichage d’un article de votre thème pour incrémenter le nombre de vues à chaque visite de l’article.

Chercher le commentaire suivant pour y mettre le code juste après la boucle :

 /* Start the Loop */

Ce qui fait dans mon cas par exemple :

 /* Start the Loop */
 while ( have_posts() ) : the_post();
      setPostViews(get_the_ID());

3.Afficher le compteur de vues dans nos articles:

Retour au fichier functions.php pour insérer une autre fonction qui va lire l’information :

function getPostViews($post_ID){
    $count_metakey = 'post_views_count';
    $views = get_post_meta($post_ID, $count_metakey, true);
    if($views==''){
        delete_post_meta($post_ID, $count_metakey);
        add_post_meta($post_ID, $count_metakey, '0');
        return "0";
    }
    return $views;
}

Pour afficher le nombre de vues insérer un appel dans le fichier single.php.

Attention, dans certains thème cette information devra peut être se placer dans un autre fichier tel que single-template.php ou autre fichier annexe selon l’organisation du thème par son auteur

echo getPostViews(get_the_ID());

Voila, un système simple et efficace. Nous allons revenir pour affiner cet affichage en ajoutant par exemple l’information sur le nombre de vue de l’article dans l’administration …

Et vous, vous utilisez un plugin ou vous le faites par code ?