Souhaitez-vous afficher une liste d'articles similaires sur votre site WordPress et préférez utiliser du code plutôt qu'un plugin ?
Chez WPBeginner, nous soulignons souvent l'importance d'engager votre audience et de la maintenir à l'exploration de votre contenu. Une stratégie efficace que nous avons vue utilisée sur d'innombrables sites WordPress réussis est l'affichage d'articles similaires.
Lorsque les visiteurs de votre blog ont fini de lire un article qui les intéresse, proposer une liste d'articles similaires les maintiendra engagés et les aidera à trouver du nouveau contenu à lire.
Dans cet article, nous vous montrerons comment afficher des articles similaires avec WordPress en utilisant du code, sans aucun plugin requis.

Pourquoi afficher des articles similaires dans WordPress ?
Lorsque votre blog WordPress commence à grandir, il peut devenir plus difficile pour les utilisateurs de trouver d'autres articles sur le même sujet.
Afficher une liste de contenu similaire à la fin de chaque article de blog est un excellent moyen de garder vos visiteurs sur votre site et d'augmenter les vues de page. Cela aide également à améliorer la visibilité de vos pages les plus importantes en affichant votre meilleur contenu là où les gens peuvent facilement le trouver.
Si vous n'êtes pas familier avec le code, il vous sera plus simple de choisir l'un des nombreux plugins d'articles similaires pour WordPress qui peuvent afficher des articles similaires sans code.
Mais, si vous vous êtes déjà demandé si vous pouviez afficher des articles similaires sans utiliser de plugin, nous allons partager deux algorithmes différents que vous pouvez utiliser pour générer des articles similaires avec des miniatures en utilisant uniquement du code :
- Méthode 1 : Comment afficher des articles similaires dans WordPress par tags
- Méthode 2 : Comment afficher des articles similaires dans WordPress par catégorie
- Guides d'experts sur les articles similaires dans WordPress
Note : Si vous souhaitez afficher une miniature avec chaque article similaire, assurez-vous d'abord d'ajouter une image à la une à ces articles.
Méthode 1 : Comment afficher des articles similaires dans WordPress par tags
Un moyen efficace de localiser du contenu similaire est de rechercher d'autres articles qui partagent les mêmes tags. Les tags sont souvent utilisés pour se concentrer sur les détails spécifiques contenus dans un article.
Dans cet esprit, vous pourriez vouloir ajouter des tags communs aux articles que vous souhaitez relier entre eux. Vous pouvez les saisir dans la boîte « Tags » de l'éditeur WordPress.

Une fois que vous avez ajouté des tags à vos articles, la prochaine étape consiste à ajouter le fragment de code suivant au modèle single.php de votre thème.
Si vous avez besoin d'aide pour ajouter du code à votre site, consultez notre guide sur comment coller des extraits du web dans WordPress.
$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="relatedposts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();
Ce code recherche les balises associées à une page, puis exécute une requête de base de données pour récupérer les pages avec des balises similaires.
Où devez-vous placer le code ? Cela dépend de votre thème, mais dans la plupart des cas, vous devriez pouvoir coller le code dans le modèle single.php de votre thème, après le message principal et juste avant la section des commentaires.
Si vous utilisez le thème Twenty Twenty-One, comme nous le faisons sur notre site de démonstration, un bon endroit pour coller le code est dans le fichier template-parts/content/content-single.php, après l'en-tête et juste après <?php the_content();.

Cela affichera automatiquement du contenu similaire sur n'importe quel article WordPress.
Vous devrez modifier le style et l'apparence de vos articles similaires pour qu'ils correspondent à votre thème en ajoutant du CSS personnalisé.

Astuce : Au lieu de modifier les fichiers de votre thème, ce qui pourrait endommager votre site web, nous vous recommandons d'utiliser un plugin d'extraits de code comme WPCode.
WPCode permet d'ajouter du code personnalisé en toute sécurité et facilement dans WordPress. De plus, il est doté d'options d'insertion qui vous permettent d'insérer et d'exécuter automatiquement des extraits à des emplacements spécifiques de votre site WordPress, comme après un article.

Pour plus de détails, consultez notre guide sur comment ajouter du code personnalisé dans WordPress. Vous pouvez également consulter notre avis détaillé sur WPCode pour en savoir plus sur le plugin.
Méthode 2 : Comment afficher des articles similaires dans WordPress par catégorie
Une autre façon d'afficher du contenu connexe est de lister les articles qui se trouvent dans la même catégorie. L'avantage de cette méthode est que la liste des articles connexes ne sera presque jamais vide.
Comme pour la méthode 1, vous devez ajouter un extrait de code au modèle single.php de votre thème ou dans un plugin d'extraits de code comme WPCode. Pour plus de détails, reportez-vous à la méthode 1 et à notre guide sur comment ajouter du code personnalisé dans WordPress.
$orig_post = $post;
global $post;
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=> 2, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="related_posts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post();?>
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();
Vous verrez maintenant une liste de contenu connexe en bas de chaque article.
Si vous souhaitez modifier le style et l'apparence de vos pages liées, vous devrez ajouter du CSS personnalisé pour qu'il corresponde à votre thème.
Guides d'experts sur les articles similaires dans WordPress
Vous souhaitez en savoir plus sur l'affichage des articles similaires dans WordPress ? Consultez ces tutoriels utiles sur les articles similaires :
- Comment afficher les articles similaires dans WordPress (étape par étape)
- Comment afficher les articles similaires du même auteur dans WordPress
- Comment afficher les articles récents dans WordPress
- Comment afficher les articles récents d'une catégorie spécifique dans WordPress
- Comment ajouter des articles similaires en ligne dans les articles de blog WordPress
- Comment afficher des articles aléatoires dans WordPress
- Comment afficher les pages similaires dans WordPress
Nous espérons que ce tutoriel vous a aidé à apprendre comment afficher des articles similaires avec des miniatures dans WordPress sans plugins. Vous voudrez peut-être aussi apprendre comment suivre les visiteurs de votre site WordPress, ou consulter notre liste de 24 astuces pour accélérer votre site web.
Si cet article vous a plu, abonnez-vous à notre chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous retrouver sur Twitter et Facebook.


Jiří Vaněk
Les articles similaires sont un excellent moyen d'attirer les utilisateurs vers plus de contenu sur votre site web. Après avoir lu plusieurs de vos articles sur ce sujet, j'ai enfin compris la puissance de cette fonctionnalité et je l'ai implémentée sur ma page 404. Désormais, au lieu d'afficher le contenu qui n'existe plus, elle propose des alternatives et des articles similaires à mes utilisateurs. Cela a considérablement réduit le taux de rebond de mon site web. Merci non seulement pour cet article, mais aussi pour les autres articles que vous avez écrits sur ce sujet. Ils m'ont aidé à améliorer ma page 404.
Support WPBeginner
Glad to hear our content was helpful
Admin
kabir bairwa
J'essayais de corriger des articles liés à WordPress, mais cela ne fonctionnait pas lorsque j'ai vu ce code et je l'ai utilisé dans mon fichier WordPress, donc maintenant mes articles liés à WordPress s'affichent correctement.
Support WPBeginner
Heureux de savoir que notre guide a pu vous aider !
Admin
Jennifer
Y a-t-il un moyen d'avoir des articles similaires basés sur le titre de l'article. Je n'ai pas de tags et mes catégories ne font pas vraiment l'affaire car il n'y a pas de distinction entre elles.
Ce serait d'une grande aide si vous aviez un code pour afficher du contenu similaire basé sur le titre de l'article.
aman
Je veux un code pour afficher des articles et des pages aléatoires avec miniature
Support WPBeginner
Vous devriez consulter notre guide ci-dessous :
https://www.wpbeginner.com/wp-tutorials/how-to-display-random-posts-in-wordpress/
Admin
karan4official
Au lieu d'utiliser <? utilisez <?php partout
Support WPBeginner
Thank you for your feedback, this article should currently be using the php version everywhere
Admin
Motahar Hossain
Merci pour votre bel article.
Ici, « ignore_sticky_posts » devrait être utilisé à la place de « caller_get_posts ». Parce que « caller_get_posts » est obsolète.
Support WPBeginner
Thanks for pointing that out, we’ll be sure to look into updating the article
Admin
Frank
Pouvez-vous m'indiquer où ajouter les catégories que je voudrais limiter aux articles similaires ?
Support WPBeginner
Cette méthode limite les articles à la catégorie dans laquelle se trouve l'article. Pour limiter les catégories, vous devriez créer une instruction if pour exclure certaines catégories.
Admin
Greg
Est-il possible, lorsqu'il y a plus de X articles apparentés par catégorie, de randomiser, disons, 3 articles ?
Support WPBeginner
Bien qu'il soit possible, cela nécessiterait d'ajouter beaucoup plus à cela, vous pourriez vouloir chercher un plugin pour ce type de personnalisation.
Admin
Akiode obasanjo
Aucun CSS n'est ajouté
luigi
Bonjour, est-il possible de les limiter par date ? Afficher uniquement ceux de l'année dernière ?
Luis
J'ai trouvé un moyen de rendre les miniatures plus petites, mais elles s'affichent en colonne et non horizontalement. Comment cela peut-il être modifié ?
Luis
Le script fonctionne bien. Le seul problème que j'ai est que les miniatures sont très grandes. Y aurait-il un moyen de les rendre plus petites ?
Support WPBeginner
Salut Luis,
Il utilise la taille par défaut des miniatures de publication. Vous pouvez créer une nouvelle taille de miniature, puis l'utiliser dans le code comme ceci :
1-click Use in WordPress
Admin
Ana
comment faire pour créer un shortcode pour ce code, j'ai créé la fonction mais je ne sais pas comment retourner le print sur la page.
Musarrof
Pourquoi je rencontre ce problème. erreur de syntaxe, fin de fichier inattendue
S'il vous plaît, aidez-moi.
Mike
Bonjour,
Je suis débutant sur WordPress.
J'aimerais afficher des articles similaires.
Dans le menu principal, j'ai la Catégorie A, et dans la Catégorie A – les sous-catégories A, B et C. Les articles sont dans la Catégorie A, mais ils peuvent aussi être présents dans les 3 sous-catégories.
Lorsque je choisis l'un des articles similaires, quelque chose ne va pas et les articles de la sous-catégorie initialement choisie ne s'affichent plus correctement.
Anthony Reese
Merci pour le tutoriel. C'était incroyablement utile et cela a fonctionné à merveille !
pawan singh
Salut Admin, Article très instructif. J'aime votre site pour sa simplicité et sa clarté. Tous les articles vont droit au but, mais quand il s'agit de partager des connaissances en code, vous devenez trop technique. Ignorez simplement le fait que la plupart des visiteurs ne sont pas des experts en codage. Ne serait-il pas beaucoup mieux si vous ajoutiez juste 2 ou 3 lignes supplémentaires à votre explication pour la rendre complète et facilement compréhensible par tous. Quoi qu'il en soit, excellent article, mais je voudrais savoir quel code ou plugin Wpbeginner utilise ?
Ahmad
vraiment utile, merci !
Tracy
ce qui est vraiment nul dans vos articles, c'est que vous ne dites jamais COMMENT faire quelque chose. C'est bien beau de me dire de mettre du code dans mon single.php, mais en tant que débutant, je ne sais pas ce que c'est ni où le trouver. Vous pourriez envisager de mettre ce type d'informations critiques dans vos articles au lieu de supposer que nous savons ce que cela signifie, ou que nous avons parcouru tous vos articles pour le découvrir.
Victor Siyaya
Je suis d'accord. Je n'ai aucune idée où coller ce code non plus.
Rose
Merci pour ce super article, très utile. J'ai rencontré une erreur dans le code, j'ai donc voulu la partager en espérant qu'elle soit utile à d'autres à l'avenir. L'erreur était :
WP_Query a été appelé avec un argument qui est déprécié depuis la version 3.1.0 ! « caller_get_posts » est déprécié. Utilisez « ignore_sticky_posts » à la place.
Je l'ai donc simplement remplacé et cela a bien fonctionné. J'utilise également les espaces de noms, j'ai donc dû changer WP_Query en \WP_Query et j'ai changé l'ordre de ce qui suit :
global $post; $orig_post = $post;
Merci encore
Rose
sanjeev Kumar
Monsieur
J'utilise le code des catégories qui fonctionne correctement, mais une chose est que lorsque sur la page d'accueil, la même catégorie de 2 ou 3 articles, le lien s'affiche en noir, mais je veux afficher la catégorie qui est l'article suivant.
Luan
Bonjour,
Merci pour votre article. J'ai ajouté le code dans content-single.php et cela a fonctionné. Cependant, il s'affiche en 1 colonne et non en 3 colonnes comme dans votre exemple. Pourriez-vous m'aider s'il vous plaît ? Je veux que mes articles similaires soient affichés en 1 ligne, 3 colonnes. Merci beaucoup.
Claudio
Bonjour !
Le premier lien dans Sources supplémentaires est cassé.
Merci pour le code.
Support WPBeginner
Salut Claudio,
Merci de nous en informer. Nous avons supprimé le lien cassé.
Admin