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.
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
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
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
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
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
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
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
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 ?
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.
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.
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.
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 ?
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/
ok, je le ferai 🙂
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.
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.
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.
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.
Je l'ai fait
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.
oh vraiment ? désolé. Je vais le renvoyer.
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 !
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.
Je l'ai essayé et ça marche :). Merci beaucoup pour l'information !
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 !
Est-il possible d'obtenir le nombre de vues de profil avec ce code ?
Est-il possible d'obtenir le nombre de vues de profil avec ce code ?
[…] Suivre les vues des articles en utilisant les métadonnées d'article […]
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é)
Ami, comment faire pour que cela fonctionne aussi en haut des articles les plus visités avec ce code ci-dessous dans vos scripts ?
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 ?
C'est parfait. Exactement ce que je cherchais.
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
Super, ça fonctionne parfaitement !
C'est génial, merci beaucoup
bon à savoir, 3q….
tanks
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 ?
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.