
Corriger l’affichage du plugin « Post Views Counter » 1.5.5
Je me gardais sous le coude 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.
Afin d’éviter de faire ces modifications de manière récurrente, j’avais bloqué les mise à jour de ce plugin, mais en passant à la version 8.4 de PHP, je me retrouve obligé de faire une mise à jour du plugin, la précédente version bloquant complètement le site web. Fort heureusement, l’IA de ChatGTP est assez efficace pour cibler les petits problèmes à résoudre.
Le code à modifier a légèrement évolué . Il se trouve toujours dans le fichier functions.php rangé dans la section include maintenant autour de la ligne 540. Il faudra donc se débarrasser des balises <div > et </div> de la sorte :
$html = apply_filters( 'pvc_post_views_html', ( $options['display_style']['icon'] ? $icon : '' ) . ( $options['display_style']['text'] ? '<span class="post-views-label">' . esc_html( $label ) . '</span> ' : '' ) . '<span class="post-views-count">' . $views . '</span>', $post_id, $views, $label, $icon );