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. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Md. Iftekharul Ibna Alam April 17, 2014 at 1:59 am

    Son conflit avec w3 total cache, les compteurs augmentent automatiquement sur mon blog. Si quelqu'un visite l'un de mes articles, les compteurs des autres articles augmentent également. Existe-t-il des solutions pour ce type de conflit ?

    1. Si vous regardez le premier extrait en bas, nous avons ce qui suit :

      le prefetching avec certains navigateurs peut ajouter des vues à des articles non consultés.

      // 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);

      L'autre chose à garder à l'esprit est que cet extrait n'est pas configuré pour bien fonctionner avec les plugins de cache.
      Je ne peux donc pas être sûr, après beaucoup plus de tests, de son bon fonctionnement.

    2. Si vous regardez le premier extrait en bas, nous avons ce qui suit :

      le prefetching avec certains navigateurs peut ajouter des vues à des articles non consultés.

      // 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);

      L'autre chose à garder à l'esprit est que cet extrait n'est pas configuré pour bien fonctionner avec les plugins de cache.
      Je ne peux donc pas être sûr, après beaucoup plus de tests, de son bon fonctionnement.

    3. Si vous regardez le premier extrait en bas, nous avons ce qui suit :

      le prefetching avec certains navigateurs peut ajouter des vues à des articles non consultés.

      // 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);

      L'autre chose à garder à l'esprit est que cet extrait n'est pas configuré pour bien fonctionner avec les plugins de cache.
      Je ne peux donc pas être sûr, après beaucoup plus de tests, de son bon fonctionnement.

  9. Yves Jeanrenaud April 1, 2014 at 4:44 pm

    merci pour le code. Je l'ai mis à jour pour qu'il fonctionne également avec la mise en cache et sans utiliser les fonctions de wordpress, mais en modifiant directement la table post_meta. quelqu'un est-il intéressé par ces mises à jour ?

    1. Salut Yves Jeanrenaud, je pense que beaucoup de gens sur wpsnipp l'adoreraient. Si vous envoyez l'extrait avec quelques détails, le domaine, etc. Ainsi, nous pourrons vous créditer, ce serait formidable.

      http://wpsnipp.com/index.php/contribute/

      1. Yves Jeanrenaud April 7, 2014 at 5:25 pm

        ok, je le ferai 🙂

    2. Hector Castilla April 16, 2014 at 11:07 pm

      salut Yves, peux-tu partager ton code ? cet extrait ne semble pas fonctionner correctement, comme l'a dit Tam 'Heisenberg' Nguyen, mes statistiques ne correspondent pas non plus.

    3. Hector Castilla April 16, 2014 at 11:07 pm

      salut Yves, peux-tu partager ton code ? cet extrait ne semble pas fonctionner correctement, comme l'a dit Tam 'Heisenberg' Nguyen, mes statistiques ne correspondent pas non plus.

    4. Hector Castilla April 16, 2014 at 11:07 pm

      salut Yves, peux-tu partager ton code ? cet extrait ne semble pas fonctionner correctement, comme l'a dit Tam 'Heisenberg' Nguyen, mes statistiques ne correspondent pas non plus.

    5. Salut, peux-tu s'il te plaît partager le code ici. J'utilise WP Super Cache et j'ai un problème avec le compteur.

      1. Yves Jeanrenaud August 9, 2014 at 4:49 pm

        Je l'ai fait

        1. Salut Yves,
          Je ne pense pas avoir jamais reçu le code de ta part, envoie-moi un e-mail sur contribute et je te contacterai via Gmail pour que tu puisses le renvoyer si cela ne te dérange pas. Je pense que le code était peut-être le problème lors de son envoi via le formulaire d'e-mail.

          1. Yves Jeanrenaud August 14, 2014 at 4:18 pm

            oh vraiment ? désolé. Je vais le renvoyer.

  10. Abdulrahman Hariri March 26, 2014 at 7:18 pm

    Excellent code, merci Kevin. Je me demandais si vous aviez essayé de l'utiliser dans les profils d'auteurs ? Je pense essayer d'utiliser une autre version de ce code pour stocker des valeurs dans les métadonnées de l'auteur et compter les visites de leur page de profil.

    Merci !

    1. Salut Abdulrahman Hariri,
      Non, je n'ai pas essayé cela moi-même dans les profils d'auteurs, cependant je ne vois aucune raison pour laquelle cela ne fonctionnerait pas. Outre la mise à jour des métadonnées de l'utilisateur plutôt que des métadonnées de publication, cela devrait bien fonctionner.

      1. Abdulrahman Hariri May 31, 2014 at 11:07 am

        Je l'ai essayé et ça marche :). Merci beaucoup pour l'information !

  11. Abdulrahman Hariri March 26, 2014 at 7:18 pm

    Excellent code, merci Kevin. Je me demandais si vous aviez essayé de l'utiliser dans les profils d'auteurs ? Je pense essayer d'utiliser une autre version de ce code pour stocker des valeurs dans les métadonnées de l'auteur et compter les visites de leur page de profil.

    Merci !

  12. Est-il possible d'obtenir le nombre de vues de profil avec ce code ?

  13. Est-il possible d'obtenir le nombre de vues de profil avec ce code ?

  14. WordPress Users: How to Increase Functionality AND Speed Up Your Site January 30, 2014 at 10:19 am

    […] Suivre les vues des articles en utilisant les métadonnées d'article […]

  15. Est-il possible de changer le « déclencheur » de l'incrémentation ? par exemple, faire en sorte que certains liens à l'intérieur de l'article augmentent la valeur de la métadonnée de l'article chaque fois qu'ils sont cliqués. Avec cela, peut-être que nous pouvons utiliser ce super extrait pour d'autres usages. (ex : combien de fois notre lien de téléchargement a été cliqué)

  16. Ami, comment faire pour que cela fonctionne aussi en haut des articles les plus visités avec ce code ci-dessous dans vos scripts ?

  17. Si j'ai un champ personnalisé appelé « vues » et qu'il dépasse 100 vues, comment puis-je afficher un certain message dans un modèle ?

  18. C'est parfait. Exactement ce que je cherchais.

  19. Md. Iftekharul Ibna Alam July 16, 2013 at 4:56 pm

    Vous avez très bien organisé l'extrait de code, et il est facile à comprendre. Maintenant, j'ai le compte des vues des articles sur mon blog. Merci

  20. Super, ça fonctionne parfaitement !

  21. C'est génial, merci beaucoup

  22. bon à savoir, 3q….

  23. tanks

  24. Merci pour le super extrait, mec. Y a-t-il un moyen d'accumuler toutes les visites précédentes de chacun de mes articles avec le compte de vues actuel de l'article ?

  25. Est-il possible de réinitialiser ce compteur ? Par exemple, disons que je veux afficher mes « articles les plus populaires de la semaine ». Chaque semaine, les vues des articles sont réinitialisées à 0.

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 !