Vous souhaitez afficher une liste de publications similaires sur votre site WordPress et préférez utiliser du code plutôt qu’une extension ?
Lorsque les internautes de votre blog ont fini de lire un article qui les intéresse, le fait de leur proposer une liste de publications similaires les retiendra et les aidera à trouver de nouveaux contenus à lire.
Dans cet article, nous allons vous montrer comment afficher des publications similaires avec WordPress à l’aide d’un code, sans aucune extension nécessaire.
Pourquoi afficher les Publications similaires dans WordPress ?
Lorsque votre blog WordPress commence à se développer, il peut devenir plus difficile pour les utilisateurs/utilisatrices de trouver d’autres publications sur le même Sujet.
L’affichage d’une liste de contenus similaires à la fin de chaque publication de blog est un excellent moyen de garder vos internautes sur votre site et d’augmenter le nombre de pages vues. 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, vous trouverez plus simple de choisir l’une des nombreuses extensions WordPress de publications liées qui permettent d’afficher les publications similaires sans code.
Mais, si vous vous êtes déjà demandé si vous pouviez afficher des publications similaires sans utiliser d’extension, nous allons partager deux algorithmes différents que vous pouvez utiliser pour générer des publications similaires avec des miniatures en utilisant uniquement du code :
Note : Si vous souhaitez afficher une miniature pour chaque publication similaire, assurez-vous d’abord d’ajouter une mise en avant à ces publications.
Méthode 1 : Comment afficher les publications similaires dans WordPress en fonction des identifiés
Un moyen efficace de trouver du contenu similaire consiste à rechercher d’autres publications qui partagent les mêmes identifiants. Les identifiants sont souvent utilisés pour mettre l’accent sur les détails spécifiques contenus dans une publication.
En gardant cela à l’esprit, vous pouvez aller de l’avant et ajouter quelques identifiants communs aux publications que vous souhaitez lier les unes aux autres. Vous pouvez les saisir dans le champ « Tags » de l’éditeur WordPress.
Après avoir ajouté des marqueurs à vos publications, la prochaine chose à faire est d’ajouter l’extrait 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 la manière de coller des extraits de code 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 identifiants associés à une page, puis exécute une requête dans la base de données pour récupérer les pages présentant des identifiants 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 la publication principale et juste au-dessus de la section des commentaires.
Si vous utilisez le thème Twenty Twenty-One comme nous le faisons sur notre site de démonstration, le 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 permet d’afficher automatiquement le contenu lié à n’importe quelle publication WordPress. Vous devrez modifier le style et l’apparence de vos publications 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, nous vous recommandons d’utiliser une extension d’extraits de code comme WPCode.
WPCode permet d’ajouter facilement et en toute sécurité du code personnalisé dans WordPress. De plus, il est livré avec des options d’insertion qui vous permettent d’insérer et d’exécuter automatiquement des extraits à des endroits spécifiques de votre site WordPress, par exemple après une publication.
Pour plus de détails, consultez notre guide sur la façon d’ajouter du code personnalisé dans WordPress. Vous pouvez également consulter notre Avis détaillé sur WPCode pour en savoir plus sur cette extension.
Méthode 2 : Comment afficher les publications similaires dans WordPress par catégorie
Une autre façon d’afficher du contenu similaire consiste à dresser la liste des publications appartenant à la même catégorie. L’avantage de cette méthode est que la liste des publications similaires ne sera presque jamais vide.
Comme pour la méthode 1, vous devez ajouter un extrait de code dans le Modèle single.php de votre thème ou dans une extension d’extraits de code comme WPCode. Pour plus de détails, reportez-vous à la méthode 1 et à notre guide sur la façon d’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 contenus similaires au bas de chaque publication.
Si vous souhaitez modifier le style et l’apparence de vos pages liées, vous devrez ajouter un CSS personnalisé correspondant à votre thème.
Guides d’experts sur les publications similaires dans WordPress
Vous voulez en savoir plus sur l’affichage des publications similaires dans WordPress ? Consultez ces tutoriels utiles sur les publications similaires :
- Comment afficher des Publications similaires dans WordPress (étape par étape)
- Comment afficher les publications similaires d’un même auteur/autrice dans WordPress
- Comment ajouter des publications similaires en ligne dans les articles de blog de WordPress
- Comment afficher des publications aléatoires dans WordPress
- Comment afficher les pages liées dans WordPress
Nous espérons que ce tutoriel vous a aidé à apprendre comment afficher des publications similaires avec des miniatures dans WordPress sans plugins. Vous voudrez peut-être aussi apprendre comment suivre les internautes sur votre site WordPress, ou consulter notre liste de 24 astuces pour accélérer votre site.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
kabir bairwa
I was trying to correct WordPress-related posts but it was not happening when I saw this code and I used this code in my WordPressfile so now my WordPress-related posts coming properly
WPBeginner Support
Happy to hear our guide could help you!
Administrateur
Jennifer
Is there a way to have related post based on the post title. I do not have tags and my categories really don’t do the trick since there is no distinction between them.
This would be of great help if you had a code to show related content based on the post title.
aman
I want code to display random posts and pages with thumbnail
WPBeginner Support
You would want to take a look at our guide below:
https://www.wpbeginner.com/wp-tutorials/how-to-display-random-posts-in-wordpress/
Administrateur
karan4official
Instead of using <? use <?php everywhere
WPBeginner Support
Thank you for your feedback, this article should currently be using the php version everywhere
Administrateur
Motahar Hossain
Thank you for your nice post.
Here « ignore_sticky_posts » should be used instead of « caller_get_posts ». Because « caller_get_posts » is deprecated.
WPBeginner Support
Thanks for pointing that out, we’ll be sure to look into updating the article
Administrateur
Frank
Can you direct me as to where to add what categories I would like to limit the related posts to?
WPBeginner Support
This method limits the posts to the category the post is in. To limit the categories you would need to create an if statement to exclude certain categories.
Administrateur
Greg
Is it possible where there are more than X related posts by category that are related that you can randomise say 3 posts?
WPBeginner Support
While it is possible, it would require adding far more to this, you may want to look into a plugin for that type of customization.
Administrateur
Akiode obasanjo
No CSS is added
luigi
Hi, is it possible to limit them by date? Show only those of the last year?
Luis
I found a way to make the smaller thumbnails, but it shows them in a column and not horizontally. How can this be modified?
Luis
The script is working well. The only problem I have is that the thumb-nails are very large. Would there be some way to make them smaller?
WPBeginner Support
Hi Luis,
It uses the default post-thumbnail size. You can create a new thumbnail size and then use it in the code like this:
1-click Use in WordPress
Administrateur
Ana
how to do for create a shortcode for this code, I created the function but I do not know how to return the print to the page.
Musarrof
Why I’m facing this problem. syntax error, unexpected end of file
Please help me.
Mike
Hello,
I’m a beginner in WorldPress.
I’d like to show Related Posts.
In the main menu I have Category A, and in Category A – Subcategories A, B and C. The posts are in Category A, but they can also be present in all 3 Subcategories.
When choosing one of the Related Posts something goes wrong and the posts from the initially chosen Subcategory don’t show correct anymore.
Anthony Reese
Thanks for the tutorial. This was incredibly useful and worked like a charm!
pawan singh
Hi Admin, Very informative article. I like your site because of simplicity and straightforwardness. All articles are to the point but when it comes to sharing the knowledge of code you become too technical. Just ignore the fact that much of the visitors are not coding expert. Wouldn’t it be much better if you just add 2or 3 more lines in your explanation to make it complete and easily understandable to all. Anyway, great article But I want to know which code or plugin is Wpbeginner using?
Ahmad
really helpful, thanks !
Tracy
what really sucks about your articles is you never actually say HOW to do something. It’s all well and good to tell me to put code into my single.php, but as a beginner I don’t know what that is or where to find it. You might want to think about putting this kind of critical information into your articles instead of assuming we know what it means, or that we have surfed every one of your articles to figure it out.
Victor Siyaya
I Agree. I have no idea where to paste this code too.
Rose
Thanks for the great post, very useful. I came across an error in the code so wanted to share in hope it may be useful for others in the future. The error was:
WP_Query was called with an argument that is deprecated since version 3.1.0! « caller_get_posts » is deprecated. Use « ignore_sticky_posts » instead.
So I simply replaced it and it worked fine. I am also using namespacing so I needed to change WP_Query to \WP_Query plus I changed the order of the below:
global $post;
$orig_post = $post;
Thanks again
Rose
sanjeev Kumar
sir
I am using the code of categories working properly but one thing is when on home page same category of 2 or 3 post then the link show balack but i want to show to show category which is next post
Luan
Hi,
Thanks for your post. I added the code in content-single.php and it worked. However, it displays as 1 column not 3 columns like your example. Could you please help me on this? I want my related posts to be displayed in 1 row, 3 columns. Thanks so much.
Claudio
Hello!
The first link on Aditional Sources, is broken.
Thank you by the code.
WPBeginner Support
Hi Claudio,
Thank you for notifying us. We have removed the broken link.
Administrateur