Plugin Get Recent Comments et Worpress 5.7

Le week-end dernier, j’ai mis à jour le blog avec la dernière version de WordPress, à savoir la 5.7 (je devais être en 5.4.x précédemment).

Tout s’est bien passé, mais le plugin « Get Recent Comments » que j’utilise pour afficher les 5 derniers commentaires dans la barre latérale ne fonctionnait plus. L’occasion de voir qu’il n’est plus maintenu (il datait de 2004), que le site du plugin est inaccessible, etc… Bref, il était temps de trouver une autre solution.

Alors il en existe plusieurs de ce type (Better Recent Comments, Recent Comments Widget Plus, etc…) mais j’avais une option avec le vieux plugin que je ne retrouvais dans aucun autre, c’était la possibilité de filtrer mes propres commentaires (mes réponses en fait), ce que je trouvais très pratique, voir essentiel.

J’ai donc posé la question sur le forum français de WordPress, WPFR. Ça faisait longtemps que j’y étais pas allé, il a été tout refait et est très joli. Ma question est ici.

Grâce à PhiLyon qui s’est bien investi sur le problème (merci le confinement !) et que je remercie chaleureusement, après plusieurs essais une solution a été trouvée, en combinant un plugin existant et en ajoutant une fonction au thème.

D’abord, le plugin à installer est Post-Specific Comments Widget (PSCW). Une fois le widget placé dans la barre latérale, on peut choisir facilement le format que l’on souhaite avec les « shortcodes » proposés : j’ai pu ainsi reproduire ce qu’affichait mon plugin précédent, et même ajouter l’avatar (pour le fun) :

J’ai finalement ajouté le shortcode [AVATAR] en tête du format.

On peut aussi définir la longueur de l’extrait (excerpt) et même la taille de l’avatar comme ceci : [AVATAR 64] pour obtenir un avatar de 80px. La valeur par défaut est de 32px.

Presque parfait donc, puisqu’il n’y a pas d’option pour filtrer les commentaires de l’auteur. C’est là que Philyon a fait très fort, en me proposant d’ajouter ce bout de code (une fonction) à un thème enfant (child theme) de WordPress :

function ra_recent_comments_less_author( $array ) {
	global $post;
	$array['user_id'] = !$post->post_author;
	return $array;
}
add_action( 'widget_comments_args', 'ra_recent_comments_less_author' );

Et ça tombait bien puisque j’utilise le thème FourteenPress, qui est un thème enfant de TwentyFourteen, un des thème fournis avec WordPress. Et voilà ! Avec cette fonction, mes propres commentaires sont filtrés et ne sont pas affichés dans le widget ! 😎

Dans la foulée, j’ai posté un commentaire sur le plugin GRCW et proposant d’ajouter cette option. Le créateur m’a vite répondu en me remerciant et en promettant de regarder ça dès que possible. Le monde du logiciel libre est vraiment top !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *