X

Comment suivre les vues d'articles sans plugin en utilisant les métadonnées d'article

Extraits par IsItWP

Vous cherchez un moyen de suivre les vues d'articles sans plugin en utilisant les métadonnées d'article ? Bien qu'il existe probablement un plugin pour cela, nous avons créé un extrait de code rapide que vous pouvez utiliser pour suivre les vues d'articles sans plugin en utilisant les métadonnées d'article dans WordPress.

Instructions :

Ajoutez ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :

function getPostViews($postID){
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
        return "0 View";
    }
    return $count.' Views';
}
function setPostViews($postID) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postID, $count_key, true);
    if($count==''){
        $count = 0;
        delete_post_meta($postID, $count_key);
        add_post_meta($postID, $count_key, '0');
    }else{
        $count++;
        update_post_meta($postID, $count_key, $count);
    }
}

// Remove issues with prefetching adding extra views
remove_action( 'wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 

Ajoutez éventuellement ce code à une colonne dans l'administration WordPress qui affiche les vues d'articles :

// Add to a column in WP-Admin
add_filter('manage_posts_columns', 'posts_column_views');
add_action('manage_posts_custom_column', 'posts_custom_column_views',5,2);
function posts_column_views($defaults){
    $defaults['post_views'] = __('Views');
    return $defaults;
}
function posts_custom_column_views($column_name, $id){
	if($column_name === 'post_views'){
        echo getPostViews(get_the_ID());
    }
}

Cette partie du code de suivi des vues définira les vues d'articles. Placez simplement ce code ci-dessous dans le fichier single.php à l'intérieur de la boucle WordPress.

<?php
          setPostViews(get_the_ID());
?>

Remarque sur la mise en cache par fragments : Si vous utilisez un plugin de mise en cache comme W3 Total Cache, la méthode ci-dessus pour définir les vues ne fonctionnera pas car la fonction setPostViews() ne s'exécutera jamais. Cependant, W3 Total Cache dispose d'une fonctionnalité appelée mise en cache par fragments. Au lieu de ce qui précède, utilisez ce qui suit pour que setPostViews() s'exécute correctement et suive toutes vos vues d'articles, même lorsque la mise en cache est activée.

<!-- mfunc setPostViews(get_the_ID()); --><!-- /mfunc -->

Le code ci-dessous est facultatif. Utilisez ce code si vous souhaitez afficher le nombre de vues dans vos articles. Placez ce code dans la boucle.

<?php 
          echo getPostViews(get_the_ID());
?>

Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de copier / coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.

Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : 10 meilleurs plugins de témoignages WordPress et comment configurer le suivi des auteurs dans WordPress avec Google Analytics.

Commentaires   Laisser une réponse

  1. Salut, je cherche une requête pour supprimer les articles sans vues, des idées ? merci 🙂

  2. Kevin, merci pour ce joli extrait.

  3. Comment cela fonctionnera-t-il pour un site avec un très grand volume de trafic ? Je regardais un plugin de vues d'articles très populaire (je ne me souviens plus de son nom), et c'était une préoccupation mentionnée dans les commentaires.

  4. Cela fonctionne bien avec les nouvelles versions de WP. Assurez-vous que tout est configuré correctement.

  5. Salut, y a-t-il un moyen de réinitialiser le compteur à zéro vues ?

    1. Salut Cyndy, tout est sauvegardé en tant que métadonnées, vous pouvez donc simplement aller dans l'article et changer la valeur de ce qu'elle est à zéro.

      1. Kevin, merci

        votre tutoriel très utile !!

        1. Salut Cyndy, Salut Kevin.
          Code sympa.
          Je ne trouve pas l'endroit exact où ces métadonnées sont stockées pour chaque publication afin de les modifier.
          À l'intérieur de la publication (depuis Tableau de bord->Publication->Modifier), il n'y a que le contenu de la publication, pas de métadonnées.
          Merci.

  6. Salut Kevin !
    J'utilise ton extrait de code depuis un certain temps et j'en suis satisfait, mais ces dernières semaines, quelque chose s'est passé et il a arrêté de compter toutes les vues. Je le sais car je vois 500 vues depuis Google Analytics, alors que l'extrait n'en affiche que 18 ? J'utilise le code exact que tu as présenté ici, sans modifications. J'ai juste changé un compte le mois dernier et depuis, tout a arrêté de fonctionner.

    1. Normalement, cela serait dû à l'installation d'un nouveau plugin ou quelque chose de ce genre. J'ai testé cet extrait sur de nouvelles versions de WordPress et il devrait fonctionner sans problème. Avez-vous un plugin de cache qui tourne sur votre site, comme w3 total cache ?

      1. J'ai w3 installé. Comment cela affecte-t-il l'extrait ? Il fonctionnait jusqu'à présent à ses côtés, pourquoi pose-t-il des problèmes maintenant ? J'ai nettoyé le cache plusieurs fois et toujours rien. ughhhh !

        1. parce qu'il n'appellerait pas la fonction setPost puisque les choses sont mises en cache, envoyez-moi un e-mail en utilisant le formulaire de contact et je vous enverrai une version mise à jour qui résoudra le problème.

          1. pouvez-vous partager ici ?

  7. Y a-t-il un moyen de réinitialiser le nombre de vues chaque jour afin d'afficher uniquement le nombre de vues pour la journée en cours ?

    1. Salut Pere,
      Oui absolument, mais il faudrait changer une bonne partie du code pour y parvenir. Malheureusement, ce n'est pas un simple changement,

      1. C'est exactement ce que je cherche. Y a-t-il un endroit où je peux obtenir cette information ?
        Je dois implémenter une page de section Tendances pour un de mes clients et je suis un peu bloqué à ce sujet pour le moment. Il semble que je ne puisse trouver aucune information à ce sujet sur le web.
        Toute aide serait très appréciée !

    2. Salut Pere, as-tu trouvé quelque chose à ce sujet ?

  8. Mark Petherbridge January 10, 2015 at 8:25 pm

    Y a-t-il un moyen de faire en sorte que cela n'enregistre que les vues uniques ? Appuyer sur F5 sur mon clavier fait monter les chiffres.

    1. Salut Mark,
      Oui, mais pas facilement avec cet extrait. Vous pourriez faire une vérification de cookies, ou un suivi des adresses IP pour des vues uniques meilleures mais pas parfaites. Ou même exiger que les utilisateurs soient connectés et suivre sur une base utilisateur par utilisateur.

  9. $count = 0; dans setPostViews() à la ligne #15 devrait être supprimé, cela ne fait pas grand-chose 😉

  10. Sans aucun doute l'extrait le plus rapide à implémenter
    Je l'utilise pour plusieurs méthodes de notification front-end, excellent travail

    Tu déchires !

  11. merci pour ce tutoriel

  12. Où le compte est-il stocké ? Est-ce dans une base de données ?
    Je voulais savoir s'il était possible de modifier les valeurs.

    Fonctionne bien pour moi sur la dernière version de WordPress, merci.

  13. pour moi, ça compte deux fois...

    1. Salut Andrew, il s'agit probablement d'un préchargement, ou setViews est ajouté plus d'une fois. Pour résoudre le premier problème, essayez d'ajouter ceci. Notez le code ci-dessus.

      // Supprimer les problèmes liés au préchargement ajoutant des vues supplémentaires
      remove_action( ‘wp_head’, ‘adjacent_posts_rel_link_wp_head’, 10, 0);

  14. Salut, cela semble ne plus fonctionner dans WP 4.0. Quelqu'un peut-il confirmer ou fournir une correction ? merci !

    1. As-tu eu des nouvelles à ce sujet ? Je viens de passer à la version 4.0 et j'aimerais utiliser ceci.

    2. Moi de même.

    3. J'utilise la version 4.0 et rien ne va mal 🙂

  15. Wow. Cela m'a fait gagner du temps. Très sympa mec merci.

  16. Super extrait mais continue d'incrémenter sur chaque publication.

  17. Bonjour !
    Excusez mon mauvais anglais, j'utilise un traducteur. Je viens du Brésil.
    J'ai un site qui a déjà plusieurs vues sur un article, comment ne pas perdre ces vues ? Faut-il mettre à jour la base de données ? J'utilise ce plugin : WP-PostViews

  18. Pourriez-vous m'aider à styliser la sortie de l'écho. Je veux mettre le nombre de vues dans ma boucle et j'ai réussi parfaitement, mais comment ajouter du CSS à la sortie pour le texte ? Des idées à ce sujet. Merci

    1. Salut Randy, vous pouvez faire ce qui suit en ajoutant une div autour de la fonction php. J'ai ajouté un exemple sur pastebin
      http://pastebin.com/ThLasSJB

      1. J'ai essayé ça tout à l'heure et ça ne fonctionne pas.

      2. J'ai essayé ça tout à l'heure et ça ne fonctionne pas.

      3. J'ai essayé ça tout à l'heure et ça ne fonctionne pas.

      4. J'ai essayé ça tout à l'heure et ça ne fonctionne pas.

      5. J'ai essayé ça tout à l'heure et ça ne fonctionne pas.

      6. J'ai essayé ça tout à l'heure et ça ne fonctionne pas.

        1. Salut Randy,
          le snippet affiche-t-il le nombre de vues ? si oui, cela a quelque chose à voir avec ton CSS ou ton HTML car copier ce snippet et le placer dans ta boucle d'article unique devrait fonctionner correctement. Tu dois juste définir des styles à appliquer.

  19. Pourriez-vous m'aider à styliser la sortie de l'écho. Je veux mettre le nombre de vues dans ma boucle et j'ai réussi parfaitement, mais comment ajouter du CSS à la sortie pour le texte ? Des idées à ce sujet. Merci

  20. Pourriez-vous m'aider à styliser la sortie de l'écho. Je veux mettre le nombre de vues dans ma boucle et j'ai réussi parfaitement, mais comment ajouter du CSS à la sortie pour le texte ? Des idées à ce sujet. Merci

  21. Pourriez-vous m'aider à styliser la sortie de l'écho. Je veux mettre le nombre de vues dans ma boucle et j'ai réussi parfaitement, mais comment ajouter du CSS à la sortie pour le texte ? Des idées à ce sujet. Merci

  22. Pourriez-vous m'aider à styliser la sortie de l'écho. Je veux mettre le nombre de vues dans ma boucle et j'ai réussi parfaitement, mais comment ajouter du CSS à la sortie pour le texte ? Des idées à ce sujet. Merci

  23. Pourriez-vous m'aider à styliser la sortie de l'écho. Je veux mettre le nombre de vues dans ma boucle et j'ai réussi parfaitement, mais comment ajouter du CSS à la sortie pour le texte ? Des idées à ce sujet. Merci

  24. Pourriez-vous m'aider à styliser la sortie de l'écho. Je veux mettre le nombre de vues dans ma boucle et j'ai réussi parfaitement, mais comment ajouter du CSS à la sortie pour le texte ? Des idées à ce sujet. Merci

  25. Pourriez-vous m'aider à styliser la sortie de l'écho. Je veux mettre le nombre de vues dans ma boucle et j'ai réussi parfaitement, mais comment ajouter du CSS à la sortie pour le texte ? Des idées à ce sujet. Merci

Ajouter un commentaire

Nous sommes heureux que vous ayez choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de confidentialité, et tous les liens sont nofollow. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.

Liste de contrôle de lancement WordPress

La checklist ultime pour lancer un WordPress

Nous avons compilé tous les éléments essentiels de la liste de contrôle pour le lancement de votre prochain site Web WordPress dans un ebook pratique.
Oui, envoyez-moi l'eBook gratuit !