Vill du visa en lista över relaterade inlägg på din WordPress website och föredrar att använda kod snarare än ett plugin?
När besökarna på din blogg har slutfört att läsa en artikel som de är intresserade av, kommer en lista med relaterade inlägg att hålla dem engagerade och hjälpa dem att hitta new content att läsa.
I den här artikeln kommer vi att visa you hur du visar relaterade inlägg med WordPress med hjälp av kod, utan något plugin obligatoriskt.
Varför visa Relaterade inlägg i WordPress?
När din WordPress blogg börjar växa kan det bli svårare för användarna att hitta andra posts i samma ämne.
Att displaya en lista med relaterat content i slutet av varje blogginlägg är ett bra sätt att hålla kvar dina besökare på din website och öka antalet sidvisningar. Det bidrar också till att förbättra synligheten för dina viktigaste pages genom att ditt bästa content visas där folk lätt kan hitta det.
Om du ej är bekant med kod kommer du att tycka att det är enklare att välja ett av de många tillägg för relaterade inlägg i WordPress som kan visa relaterade inlägg utan kod.
Men om du någonsin har undrat om du kan visa relaterade inlägg utan att använda ett plugin, kommer vi att dela två olika algoritmer som du kan använda för att generera relaterade inlägg med inläggsminiatyrer med enbart kod:
Obs/observera: Om du vill visa en thumbnail med varje relaterat inlägg, se till att du först lägger till en featured image till dessa inlägg.
Metod 1: Hur man visar Relaterade inlägg i WordPress med Tags
Ett effektivt sätt att hitta relaterat content är att leta efter andra posts som delar samma taggar. Tags används ofta för att fokusera på de specifika detaljer som finns i ett post.
Med det i åtanke kanske du vill gå vidare och add to några gemensamma taggar till de posts du vill relatera till varandra. Du kan enter dem i ”Tags”-boxen i WordPress editor.
Följ efter att du har lagt till taggar till dina posts, nästa sak att göra är att add to följande code snippet till ditt temas single.php
mall.
Om du behöver hjälp med att lägga till kod på din site kan du läsa vår guide om hur du klistrar in snippets från webben i 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();
Den här koden letar efter taggar som är associerade med en page och runar sedan en sökning i en database för att hämta pages med liknande tags.
Var ska du placera koden? Det beror på ditt theme, men i de flesta fall bör du kunna klistra in koden i ditt temas single.php template efter huvudinlägget och precis ovanför avsnittet med kommentarer.
Om du använder temat Twenty Twenty-One som vi gör på vår demo-site, är ett bra ställe att klistra in koden i filen template-parts/content/content-single.php
efter headern och precis efter <?php the_content();
.
Detta kommer automatiskt att visa relaterat content på alla WordPress-poster. Du måste ändra styling och appearance för dina relaterade inlägg för att matcha ditt tema genom att lägga till custom CSS.
Tips: Istället för att editera dina theme-filer, vilket kan förstöra din website, rekommenderar vi att du använder ett code snippets plugin som WPCode.
WPCode gör det säkert och enkelt att add to custom kod i WordPress. Dessutom kommer det med ”Insertion” alternativ som låter dig automatiskt insert och exekvera snippets på specifika locations på din WordPress site, till exempel efter en post.
För mer detaljer, se vår guide om hur du lägger till custom code i WordPress. Du kan också kontrollera vår detaljerade WPCode-review för att lära dig mer om pluginet.
Metod 2: Hur man visar Relaterade inlägg i WordPress efter Category
Ett annat sätt att displayed relaterat content är att lista posts som är i samma kategori. Fördelen med den här metoden är att listan över Relaterade inlägg nästan aldrig kommer att vara tom.
Likes Method 1, you need to add a code snippet to your theme’s single.php template or in a code snippets plugin like WPCode. För mer detaljer, se Metod 1 och vår guide om hur du lägger till customize-kod i 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();
Nu kommer du att se en lista med relaterat innehåll längst ner i varje post.
Om du vill ändra styling och appearance på dina related pages måste du add to custom CSS för att matcha ditt theme.
Expertguider om Relaterade inlägg i WordPress
Vill du lära dig mer om hur du visar relaterade inlägg i WordPress? Kolla in dessa användbara tutorials om relaterade inlägg:
- Hur man visar Relaterade inlägg i WordPress (Step-by-Step)
- Hur man visar Relaterade inlägg av samma författare i WordPress
- Så här addar du Inline Relaterade Inlägg i WordPress Blogginlägg
- Hur man visar slumpmässiga posts i WordPress
- Så här visar du relaterade pages i WordPress
Vi hoppas att denna tutorial hjälpte dig att lära dig hur du visar relaterade inlägg med inläggsminiatyrer i WordPress utan tillägg. Du kanske också vill lära dig hur du trackar besökare på din site i WordPress, eller kontrollera vår lista med 24 tips för att snabba upp din website.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and 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!
Administratör
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/
Administratör
karan4official
Instead of using <? use <?php everywhere
WPBeginner Support
Thank you for your feedback, this article should currently be using the php version everywhere
Administratör
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
Administratör
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.
Administratör
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.
Administratör
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
Administratör
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.
Administratör