Archives de
Étiquette : Post Views Counter

Ajouter le nombre de vues d’un article dans le thème du blog

Ajouter le nombre de vues d’un article dans le thème du blog

Ce sont des modifications faites dans mon thème Nisarg sous WordPress il y a de cela bien longtemps, et à chaque mise à jour, je perds un temps bête à me souvenir où je dois faire la modification ! Dans mon blog, j’utilise le plugin Post Views Counter développé par Digital Factory. Ce dernier avait l’avantage notamment de me permettre de récupérer les données, certes à la main depuis les statistiques de Google.

Par défaut, l’affichage peut-être imposé avant ou après le contenu d’un article. Il est également possible d’utiliser un short code [ post-views ] pour afficher le contenu dans l’article. Mais dans mon cas, ce qui m’intéresse est de pouvoir ajouter ces données formatées à la suite de l’affichage de la date et du nombre de commentaires.

Pour ce faire, je dois donc aller ajouter du code dans le template de mon thème et dans ce cas précis, utilisant Nisarg, cela se situe dans « template-parts/content.php » au niveau de la ligne 30.

<div class="entry-meta">
<h5 class="entry-date"><?php nisarg_posted_on(); ?>
<?php pvc_post_views( $post_id = 0, $echo = true ); ?></h5>
</div><!-- .entry-meta -->

A cette endroit, l’utilisation de shortcode ne fonctionne pas, je suis donc obligé de récupérer l’appel de fonction du développeur qui est maintenant documentée dans son API et l’encapsulé dans un appel en PHP.

Voici donc un problème fixé !

Corriger l’affichage du plugin « Post Views Counter »

Corriger l’affichage du plugin « Post Views Counter »

Je me garde ces quelques notes pour ne plus perdre trop de temps à chaque fois que le plugin wordpress Post View Counter se met à jour.  Post Views Counter me permet d’afficher le nombre de vue pour chaque article et d’y importer (manuellement) les valeurs de Google Stat. Peu de plugin permette de faire cela hormis l’usine Jetpack que j’ai choisi d’abandonner depuis l’année dernière. J’utilise l’option de positionnement manuelle de ces données dans mon template, mais pour que cela s’intègre proprement, j’ai dû faire également un petite modification dans le template du plugin.

Pour mémoire, je fais un appel de la fonction dans le fichier content.php du template de mon thème (caché dans template-parts) à la ligne 33 au moment de préciser ce que l’on retrouve dans la balise H5 liée au titre d’un article.

<?php if ( 'post' == get_post_type() ) : ?>
		<div class="entry-meta">
			<h5 class="entry-date"><?php nisarg_posted_on(); ?> - <?php echo do_shortcode('[pOst-views]');  ?></h5>
		</div><!-- .entry-meta -->
		<?php endif; ?>

Néanmoins lorsque je fonctionne de la sorte, l’ajout d’une balise DIV supplémentaire dans le H5 crée une double ligne dans mon trait ::after assez disgracieuse. Pour corriger le tir, je dois donc supprimer dans le code de l’extension des informations relatives à la manière dont la variable post-views va s’afficher en mode HTML. Ces information se trouvent dans le fichier functions.php rangées dans la section include actuellement autour de la ligne 289 402 et que je vais débarrasser des balises <div > et </div> ainsi :

$html = apply_filters(
'pvc_post_views_html', '

' . ($options['display_style']['icon'] && $icon_class !== '' ? $icon : '') . '
' . ($options['display_style']['text'] ? '' . $label . ' ' : '') . '
' . number_format_i18n( $views ) . '
', $post_id, $views, $label, $icon
);