Skip to content

Tout pour WordPress, le développement web — et plus encore

🔗 Articles similaires dans Elementor via un filtre de requête personnalisé

🔗 Articles similaires dans Elementor via un filtre de requête personnalisé

Le widget Posts standard d'Elementor Pro sait faire trois choses: articles récents, par catégorie et liste manuelle. Mais lorsque vous avez besoin d'un bloc «Articles similaires» sous un article, qui recoupe le contenu en cours par étiquettes et catégories, il n'existe pas d'option native. Certes, la liste déroulante Source propose un élément «Related» depuis la version 2.5, mais la logique est rudimentaire: des articles des mêmes catégories, sans tenir compte du poids de correspondance. Le résultat est prévisible: le bloc ressemble à une sélection aléatoire plutôt qu'à une recommandation pertinente.

L'objectif: conserver le design de carte d'Elementor mais confier la requête à un plugin tiers qui calcule la pertinence sur l'ensemble des taxonomies attachées en une seule passe. Le résultat est un bloc «Articles similaires» où chaque article suivant est véritablement plus proche de ce que le lecteur est en train de consulter, au lieu de simplement remplir la grille.

La méthode repose sur du PHP pur, sans extension supplémentaire ni modification de template. Elementor affiche la carte, le plugin Related Posts By Taxonomy calcule les IDs, et le hook elementor/query/{$query_id} fait le lien entre les deux. Dix minutes de paramétrage, et le bloc est en ligne.

💡 Aperçu rapide:

  • Installez le plugin gratuit Related Posts By Taxonomy: il trouve les articles similaires par catégories, étiquettes et taxonomies personnalisées partagées, sans surcharge sur le frontend.
  • Dans le widget Posts d'Elementor Pro, définissez un Query ID unique; cette chaîne deviendra le nom du hook pour intercepter WP_Query.
  • Ajoutez un extrait PHP à votre site: la fonction récupère un tableau d'IDs depuis le plugin et le transmet à la requête Elementor via post__in.
  • Ajustez le nombre, l'ordre de tri, le template d'affichage et la mise en cache via les filtres du plugin selon vos besoins.

Le plugin Related Posts By Taxonomy est présent sur le dépôt officiel WordPress.org depuis 2014. En juin 2026, version 2.7.9, testé jusqu'à WordPress 7.0, plus de 10 000 installations actives. L'auteur, Kees Meijer, maintient le plugin de façon régulière: la dernière version est sortie quelques jours seulement avant cette publication.

Le principal argument est une empreinte minimale. Pas de panneau d'administration dans le tableau de bord, pas de scripts supplémentaires sur le frontend, pas d'écriture en base de données. Toute la configuration passe par des filtres et des attributs de shortcode. Pour un développeur, c'est un atout: une installation propre, un comportement prévisible, zéro surcharge.

L'algorithme classe les articles selon le nombre de termes de taxonomie partagés. Un article qui cumule le plus de correspondances sur les catégories et les étiquettes avec l'article en cours obtient la priorité la plus élevée. Le plugin ne fonctionne pas seulement avec les catégories et étiquettes standard; il prend en compte les taxonomies personnalisées enregistrées via WooCommerce, ACF ou CPT UI. Et comme il prend en charge les types de contenu personnalisés, le bloc «Articles similaires» peut également apparaître sur des pages de portfolio et dans des sections sur mesure.

Configuration du widget Posts dans Elementor

Ajoutez le widget Posts depuis la bibliothèque Elementor Pro à votre template de page Article unique. Configurez l'habillage (Cards ou Classic) et obtenez le design souhaité: image mise en avant, titre, date, extrait. À ce stade, le widget affiche les derniers articles du blog, et c'est normal.

Maintenant, l'étape clé. Dans la barre latérale d'édition, ouvrez l'onglet Query. Trouvez le champ Query ID et saisissez un identifiant unique, par exemple related_posts_by_tax. Cette chaîne exacte deviendra le nom du hook elementor/query/related_posts_by_tax, que nous utiliserons pour intercepter la requête.

Champ ID de requête dans les paramètres du widget Articles d'Elementor Pro

Le paramètre Query ID est disponible dans Elementor Pro depuis la version 2.0. Il a été conçu spécifiquement pour les développeurs: vous définissez un identifiant sous forme de chaîne, puis vous attachez votre fonction de callback au hook elementor/query/{your_id}. Une documentation détaillée est disponible sur le portail développeur Elementor.

Laissez les autres réglages de la requête (Post Type, Taxonomies, Order By) tels quels. Ils continuent de s'appliquer, et notre filtre vient s'ajouter par-dessus. Par exemple, si le Post Type du widget est réglé sur «Posts», le plugin Related Posts By Taxonomy cherchera des entrées similaires uniquement parmi les articles de blog.

Extrait PHP: connecter les deux plugins

Le code se compose d'un seul appel add_action et d'une courte fonction. Il appelle la méthode km_rpbt_get_related_posts() du plugin, récupère un tableau d'IDs d'articles pertinents et le transmet à WP_Query via le paramètre post__in.

Ajoutez l'extrait au fichier functions.php de votre thème enfant ou via le plugin Code Snippets:

1/**
2 * Replaces the Elementor Posts widget query with related posts.
3 * Uses the Related Posts By Taxonomy plugin.
4 *
5 * @param \WP_Query $query The Elementor query object.
6 */
7add_action( 'elementor/query/related_posts_by_tax', 'sdstudio_related_posts' );
8function sdstudio_related_posts( $query ) {
9 global $post;
10
11 $related_ids = km_rpbt_get_related_posts(
12 $post->ID,
13 array( 'fields' => 'ids' )
14 );
15
16 if ( ! empty( $related_ids ) ) {
17 $query->set( 'post__in', $related_ids );
18 $query->set( 'orderby', 'post__in' );
19 }
20}

Décomposition ligne par ligne:

  • elementor/query/related_posts_by_tax est le hook dont le nom correspond au Query ID dans le widget. Si vous avez utilisé un ID différent, remplacez la chaîne.
  • global $post donne accès à l'article en cours, qui sert de point de départ.
  • km_rpbt_get_related_posts() est la fonction du plugin qui renvoie un tableau d'IDs d'articles similaires. Le paramètre 'fields' => 'ids' accélère la requête: le plugin ne récupère pas les objets complets.
  • $query->set( 'post__in', $related_ids ) limite strictement WP_Query aux seuls articles trouvés.
  • $query->set( 'orderby', 'post__in' ) préserve l'ordre renvoyé par le plugin, du plus pertinent au moins pertinent.

Techniquement, deux requêtes s'exécutent: d'abord le plugin trouve les IDs, puis Elementor récupère les objets complets à partir de ces IDs. En pratique, avec 3 à 5 articles similaires, la surcharge est négligeable. Pour des performances maximales, activez l'option de cache persistant du plugin; elle met en cache les résultats pendant une durée déterminée.

Ajuster le résultat

L'extrait ci-dessus est la version de base. À partir de là, la requête peut être personnalisée selon vos besoins spécifiques.

Limiter le nombre. Par défaut, le plugin renvoie jusqu'à 5 articles. Pour modifier la limite, passez le paramètre posts_per_page:

1$related_ids = km_rpbt_get_related_posts(
2 $post->ID,
3 array(
4 'fields' => 'ids',
5 'posts_per_page' => 3,
6 )
7);

Exclure l'article en cours. Le plugin le fait automatiquement, mais si vous voulez une sécurité supplémentaire, ajoutez $query->set( 'post__not_in', array( $post->ID ) ).

Limiter par date. Afficher uniquement les articles des 12 derniers mois:

1$related_ids = km_rpbt_get_related_posts(
2 $post->ID,
3 array(
4 'fields' => 'ids',
5 'limit_month' => 12,
6 )
7);

Modifier le template d'affichage. Le plugin prend en charge des templates HTML personnalisés via le filtre rpbt_template. Placez un fichier related-posts-by-taxonomy.php dans le dossier de votre thème, et le balisage vous appartient entièrement. La documentation avec exemples se trouve sur le site de l'auteur; pour un plugin gratuit, elle est remarquablement détaillée.

Mode Ajax. Si le bloc d'articles similaires se trouve loin sous la ligne de flottaison, activez le chargement différé via le filtre rpbt_ajax_load; le plugin récupérera les articles de manière asynchrone sans affecter le First Contentful Paint.

Cette vidéo de l'équipe Elementor montre la gestion avancée des requêtes en action, y compris la sélection d'articles similaires et le filtrage par date:

⁉️🤔 Foire aux questions

Elementor Pro est-il obligatoire pour cette méthode?

Oui, le filtre de requête personnalisé elementor/query/{$query_id} est disponible uniquement dans Elementor Pro. La version gratuite ne dispose pas d'un widget Posts avec un champ Query ID.

Que se passe-t-il si le plugin ne trouve aucun article similaire?

Assurez-vous que vos articles partagent des taxonomies communes. Le plugin recherche des correspondances sur toutes les taxonomies publiques attachées au type de contenu. Si les articles sont répartis dans des catégories sans chevauchement, il n'y aura pas d'articles similaires. Mettez en place un fallback: par exemple, affichez les derniers articles de la même catégorie.

Cette approche peut-elle être utilisée avec des types de contenu personnalisés?

Oui. Spécifiez le Post Type souhaité dans les réglages de requête du widget Elementor, et le plugin Related Posts By Taxonomy prendra automatiquement en compte les taxonomies enregistrées pour ce type. La méthode fonctionne avec les portfolios, les produits WooCommerce et tout CPT.

La méthode fonctionne-t-elle avec un thème bloc (Full Site Editing)?

Le widget Posts d'Elementor Pro ne dépend pas du thème; il fonctionne aussi bien avec les thèmes classiques qu'avec les thèmes blocs. La condition essentielle est que le template Article unique soit géré via le Theme Builder d'Elementor.

En quoi cette méthode est-elle meilleure que l'option «Related» intégrée dans Elementor?

L'option intégrée se contente de filtrer les articles par les mêmes catégories, sans tenir compte du nombre de correspondances et sans prise en charge des taxonomies personnalisées. Related Posts By Taxonomy classe les articles sur l'ensemble des taxonomies attachées simultanément et renvoie les plus pertinents, pas seulement ceux «de la même catégorie».

Le filtre manuel en vaut-il la peine

Sur les petits blogs avec une poignée de catégories, l'option «Related» intégrée dans Elementor Pro est largement suffisante. Mais dès que des taxonomies personnalisées, plusieurs types de contenu ou le besoin de contrôler précisément la logique de correspondance apparaissent, un filtre manuel via elementor/query/{$query_id} devient la seule solution propre, sans acheter d'extensions supplémentaires.

Le plugin Related Posts By Taxonomy résout le problème sans aucun coût et n'ajoute aucun code supplémentaire sur le frontend. La configuration prend 10 minutes, et le résultat est un bloc «Articles similaires» pertinent qui retient les visiteurs sur votre site plus longtemps qu'une sélection aléatoire de publications récentes.

Testez-le dans un environnement de test: lancez un WordPress local, installez le plugin et Elementor Pro, ajoutez l'extrait et vérifiez que la méthode fonctionne exactement comme vous le souhaitez.