Actuellement, dans la version 6.0 de WordPress, si vous insérez une boucle de requête dans une page d’article pour suggérer d’autres articles aux lecteurs. Et bien, vous allez voir l’article de la page en cours dans les résultats de la boucle de requête.
Ce qui est plutôt problématique. D’autant qu’il n’existe aujourd’hui aucune solution dans les filtres pour changer cela.

Une liste d’articles dans un article

L’exemple le plus courant, c’est tout simplement un bloc proposant une liste de posts en bas de la page d’un article.
Comme sur la page que vous êtes en train de regarder.
C’est un peu dommage de retrouver le même article dans cette liste de posts. Alors que vous êtes en train de le lire !

La solution

J’ai développé un petit plugin prend l’id de la page en cours et qui filtre tout simplement les posts en résultat de la boucle de requête.

Le plugin WP-Performance/wp-performance-related-query-block

Une fois installé, il suffit d’ajouter la class wpp-related-query sur votre boucle de requête et le bloc sera filtré par le plugin.
Si il trouve un post avec le même ID, il sera supprimé de la liste.


Je dirai que c’est une solution qui fonctionne bien et qui peut être utilisé pour un bloc simple.
Espérons que l’équipe Gutenberg sorte une version du bloc « Boucle de requête » en mode « Related posts » pour avoir un lien avec l’article en cours par les catégories ou les tags.

En attendant, vous pouvez utiliser mon plugin ou développer votre propre bloc « Related posts ».