Vill du visa en lista med relaterade inlägg på din WordPress-webbplats och föredrar att använda kod snarare än ett plugin?
På WPBeginner betonar vi ofta vikten av att engagera din publik och få dem att utforska ditt innehåll. En effektiv strategi vi har sett användas på otaliga framgångsrika WordPress-webbplatser är att visa relaterade inlägg.
När besökare på din blogg har läst klart en artikel de är intresserade av, kommer en lista med relaterade inlägg att hålla dem engagerade och hjälpa dem att hitta nytt innehåll att läsa.
I den här artikeln visar vi hur du visar relaterade inlägg med WordPress med kod, utan att behöva ett plugin.

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ändare att hitta andra inlägg om samma ämne.
Att visa en lista med relaterat innehåll i slutet av varje blogginlägg är ett utmärkt sätt att behålla dina besökare på din webbplats och öka sidvisningarna. Det hjälper också till att förbättra synligheten för dina viktigaste sidor genom att visa ditt bästa innehåll där folk lätt kan hitta det.
Om du inte är bekant med kod, kommer du att finna det enklare att välja ett av de många WordPress-plugins för relaterade inlägg 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 miniatyrbilder med enbart kod:
- Metod 1: Hur man visar relaterade inlägg i WordPress med taggar
- Metod 2: Hur man visar relaterade inlägg i WordPress efter kategori
- Experthandledningar om relaterade inlägg i WordPress
Notera: Om du vill visa en miniatyrbild med varje relaterat inlägg, se till att du först lägger till en utvald bild till dessa inlägg.
Metod 1: Hur man visar relaterade inlägg i WordPress med taggar
Ett effektivt sätt att hitta relaterat innehåll är att leta efter andra inlägg som delar samma taggar. Taggar används ofta för att fokusera på de specifika detaljer som finns i ett inlägg.
Med det i åtanke kan du kanske lägga till några vanliga taggar till de inlägg du vill relatera till varandra. Du kan ange dem i rutan 'Taggar' i WordPress-redigeraren.

När du har lagt till taggar i dina inlägg är nästa steg att lägga till följande kodavsnitt i din temas single.php-mall.
Om du behöver hjälp med att lägga till kod på din webbplats, se vår guide om hur man klistrar in kodavsnitt 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 sida och kör sedan en databasfråga för att hämta sidor med liknande taggar.
Var ska du placera koden? Det beror på ditt tema, men i de flesta fall bör du kunna klistra in koden i ditt temas single.php-mall efter huvudinlägget och precis ovanför kommentarsavsnittet.
Om du använder temat Twenty Twenty-One som vi gör på vår demosida, då är en bra plats 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 innehåll på alla WordPress-inlägg.
Du behöver ändra stilen och utseendet på dina relaterade inlägg för att matcha ditt tema genom att lägga till anpassad CSS.

Tips: Istället för att redigera dina temafiler, vilket kan bryta din webbplats, rekommenderar vi att du använder ett kodavsnittsplugin som WPCode.
WPCode gör det säkert och enkelt att lägga till anpassad kod i WordPress. Dessutom kommer den med 'Infognings'-alternativ som låter dig automatiskt infoga och köra kodavsnitt på specifika platser på din WordPress-webbplats, till exempel efter ett inlägg.

För mer information, se vår guide om hur man lägger till anpassad kod i WordPress. Du kan också kolla in vår detaljerade WPCode-recension för att lära dig mer om pluginet.
Metod 2: Hur man visar relaterade inlägg i WordPress efter kategori
Ett annat sätt att visa relaterat innehåll är att lista inlägg som finns i samma kategori. Fördelen med denna metod är att listan med relaterade inlägg nästan aldrig kommer att vara tom.
Precis som metod 1 behöver du lägga till ett kodavsnitt i din temas single.php-mall eller i ett kodavsnitt-plugin som WPCode. För mer information, se metod 1 och vår guide om hur du lägger till anpassad 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 på varje inlägg.
Om du vill ändra utformningen och utseendet på dina relaterade sidor, då behöver du lägga till anpassad CSS för att matcha ditt tema.
Experthandledningar om relaterade inlägg i WordPress
Vill du lära dig mer om att visa relaterade inlägg i WordPress? Kolla in dessa hjälpsamma handledningar om relaterade inlägg:
- Hur man visar relaterade inlägg i WordPress (steg för steg)
- Hur man visar relaterade inlägg av samma författare i WordPress
- Hur man visar de senaste inläggen i WordPress
- Hur man visar de senaste inläggen från en specifik kategori i WordPress
- Hur man lägger till inbäddade relaterade inlägg i WordPress-blogginlägg
- Hur man visar slumpmässiga inlägg i WordPress
- Hur man visar relaterade sidor i WordPress
Vi hoppas att den här handledningen hjälpte dig att lära dig hur du visar relaterade inlägg med miniatyrbilder i WordPress utan plugins. Du kanske också vill lära dig hur man spårar besökare till din WordPress-webbplats, eller kolla in vår lista med 24 tips för att snabba upp din webbplats.
Om du gillade den här artikeln, prenumerera då på vår YouTube-kanal för WordPress-videoguider. Du kan också hitta oss på Twitter och Facebook.

imranhunzai
Absolut fantastiskt! och ja, det hjälper.
8MEDIA
amazing post ,, thanks
shaileshtr
Det är bra att visa relaterade inlägg i en WordPress-blogg utan plugin. Det kommer att förbruka mindre bandbredd och tid att ladda. http://shareitto.com Tack för ditt förslag.
zioneyemedia
Jag har en fråga om detta: Jag kämpar med koden för att hämta inlägg från underkategorier istället för huvudkategorier. Några råd?
AmandaLong
Det här är grymt ... Tack!
dustinporchia
Jag försöker använda relaterade inlägg per kategori och jag märkte att du sa att koden måste komma före kommentarerna i huvudloopen. I min kod vill jag att de relaterade inläggen ska komma efter kommentarerna i loopen. När jag gör detta märker jag att mitt Disqus-kommentarplugin tar längre tid att ladda nu. Beror det på ett fel med kommentarerna eller är det normalt?
dustinporchia
Glöm det... Jag bytte precis till livefyre eftersom det här är mer vad jag letar efter i ett kommentarsystem ändå... tack!
subzerokh
snälla
kan någon hjälpa en nybörjare som jag att anpassa detta skript så att det visar relaterade inlägg på ett horisontellt sätt?
från vänster till höger..
istället för att för närvarande visa det från upp till ner, vertikalt...
zioneyemedia
Hej,
Hur jag gjorde det var att jag ersatte koderna och med min egen html och css. koderna skapar listor för varje inlägg, och det är vanligtvis i en vertikal riktning.
——————
<a href="” rel=”bookmark” title=””> <a href="” rel=”bookmark” title=””>
——————
Jag ersatte öppningen med och ersatte avslutningen med som mina HTML-taggar. Sedan skriver jag min CSS för att passa de specifika behoven för den div-klassen på din webbplats. Till exempel kan en exempel pleft-klass se ut så här:
.pleft {float:left; padding:2px; margin:10px; width:278px; height:190px;}
Jag använder float: selector i min CSS för att flytta inlägg horisontellt, och marginaler och stoppning för att ge varje inlägg utrymme mellan varandra. Jag lade till en specifik bredd och höjd för ytterligare exempel.
Hoppas detta hjälper.
Simos
@zioneyemedia tack!
gcog
Jag har definitivt relaterade taggar, men när jag lägger till koden ser jag ingenting. Dessutom, när jag lägger till din kod för att begränsa till en anpassad inläggstyp, ger det mig ett fel. Jag ändrade inläggstypen till min specifika inläggstyp.
subzerokh
@wpbeginner hej
tack för ditt snabba svar...
men jag är en riktig nybörjare på allt du säger...
kan du ge ett litet exempel?
för att göra dem horisontella som på din egen blogg?
kan komma i kontakt via min e-post: khiloc at gmail dot com
wpbeginner
@subzerokh Du skulle behöva redigera stilen. Det är inte så svårt. Slå helt enkelt in varje inlägg i en div. Ange en bredd för den div:en och ställ sedan in en float left-egenskap. Justera marginalerna och så vidare så har du det.
subzerokh
hej allihop!! tack för detta underbara skript!!
Det är det enda jag hittade som gjorde exakt vad jag ville!!!
Men det visar bara relaterade inlägg på ett vertikalt sätt (uppifrån och ner)
Jag skulle vilja att det visas från vänster till höger (horisontellt)
Hur gör man det tack??
ConnectIndia
Fel Allvarligt fel: Anrop till odefinierad funktion the_post_thumbnail() i /home/connec92/public_html/wp-content/themes/weekly/single.php på rad 59 Kan någon hjälpa. webbplats http://www.connectindia.co.in
xavpro
hej,
bra inlägg! kanske du kan hjälpa mig:
Jag har en automatisk miniatyrbild om ingen är definierad,
if ($thumb_array[‘thumb’] == ”) $thumb_array[‘thumb’] = ‘länk till din standardminiatyrbild’;return $thumb_array;
nu är min fråga hur man definierar en tumme för varje kategori, som kommer att användas om ingen är definierad vid inlägget.
dehahs
fungerar fint, tack för att du delade med dig!
AdnanAsif
Hej
tack för ditt utmärkta inlägg..
Men någon ändring för att få inlägg efter kategorier men inte i ul och li och inte i miniatyrbild...
Jag menar att hela inlägg visas i relaterade inlägg.. precis som på startsidan, med läs mer-länk.
tack
väntar på ditt svar..
AdnanAsif
Hej
tack för ditt utmärkta inlägg..
Men någon ändring för att få inlägg efter kategorier men inte i ul och li och inte i miniatyrbild...
Jag menar att hela inlägg visas i relaterade inlägg.. precis som på startsidan, med läs mer-länk.
tack
väntar på ditt svar..
ibadullah25
Kan jag få en CSS för detta tack
Redaktionell personal
CSS:en vi använde var för en klients webbplats. Du kan lägga till din egen CSS för hur du vill visa detta.
Admin
titusmagnet
Tack.. jag letar efter den här typen av kod
jaffa
Detta är jättebra, precis vad jag har letat efter. Jag undrar dock, hur skulle jag kunna kombinera de två ovanstående och om det inte finns några taggar så visas inlägg från samma kategori?
Försöker lista ut detta men kommer inte så långt än
nikbanks
Tack för koden, den fungerade men hur stylar jag den. Jag skulle vilja att den visar 4 berättelser sida vid sida som dina. På min webbplats listas de en ovanpå den andra och inte sida vid sida som dina.
Redaktionell personal
Det är CSS. Vi använder inte den här koden för att visa relaterade berättelser. För det andra tror jag att det du pratar om är utvalda berättelser i vår sidofält. Vi har skrivit ett annat inlägg om det på vår webbplats.
Admin
Coolguy
finns det ett sätt att visa tummarna i relaterade inlägg utan att använda utvalda bilder eller inläggstummarna??
dvs att använda en bild som används i inlägget...
Redaktionell personal
Ja, du kan använda återställningsteknikerna som delas av andra utvecklare som hämtar den första bilden från inlägget. Men vi rekommenderar att du använder WordPress-inläggstumnaglar...
Admin
Hetal
Tack för den här artikeln. Jag undrade om det finns ett sätt att automatiskt tagga inlägg utan att behöva ange dem manuellt.
Redaktionell personal
Nej, du måste tagga varje inlägg manuellt.
Admin
Sisko
Utmärkt!
Vad händer om jag vill visa relaterade inlägg per kategori utan miniatyrbilder?
Tack
Redaktionell personal
Just remove the thumbnail code from the code above
Admin
Terry
Tack för att du publicerade den här handledningen, den hjälper mig mycket.
Adrian
Hej där… Ville bara säga att jag har byggt min wordpress-webbplats från grunden och den här koden fungerar perfekt för mig med WP 3.1…. Allt jag behöver göra nu är att styla CSS:en och få några miniatyrer för inläggen. Tack för din hjälp med koden.
ny bilrelease
tack, jag har letat efter det här hacket så länge och du har gett mig det!
Patricia
Hej, finns det ett sätt att exkludera kategorier? Jag har två huvudkategorier där alla kategorier tilldelas. Huvudkategorierna har underkategorier och jag skulle bara vilja visa relaterade inlägg från underkategorierna.
Är detta möjligt, genom att utesluta ID:n för huvudkategorierna?
Tack för ditt råd!
Förresten... älskar koden... och den fungerar utmärkt!!!
Redaktionell personal
Du bör kunna använda kategori inte i <<
Admin
usman
Jag letade efter relaterade inlägg med miniatyrbilds-plugins men koden som du klistrade in ovan löste mitt problem.
John
Bara en fråga, finns det ett sätt att bara hämta taggar från samma inläggstyp? Kanske med något som 'post_type=videos'?
John
Förresten, jag löste även detta:
Lägg bara till det i arrayen:
$args=array( ‘category__in’ => $category_ids, ‘post__not_in’ => array($post->ID), ‘posts_per_page’=> 2, // Antal relaterade inlägg som kommer att visas. ‘caller_get_posts’=>1, ‘post_type’=>’videos’ );
marion
Hej,
Tack för den här handledningen. Jag undrar dock om det finns något sätt att slumpmässigt välja de relaterade produkterna? Jag har kontrollerat olika produkter i samma kategori och samma relaterade produkter visades.
Tack
Redaktionell personal
Ja, använd Query_Post-parametern för ordning och du kan slumpa den.
Admin
Clarence Johnson
Bra att veta.
phdean
Hej,
Jag skulle också vilja slumpmässigt välja de inlägg som visas för kategorierna eftersom de annars kommer att visa samma 2 varje gång. Kan du ge mig koden för att göra detta?
Many thanks in advance
John
Glöm det, jag löste det. Tack för inlägget!
Redaktionell personal
vad var problemet?
Admin
John
Jag hade inga andra inlägg med samma taggar, dvs inga relaterade inlägg. Dumt misstag.
John
Jag kopierade den här koden och lade den i min single.php utan att ändra något och inget matas ut. Är något fel med min kod? pastebin.com/kg0SkrAg
James
Detta visar ingen miniatyrbild – det finns inte ens en anropning för en bild i koden. Jag förstår inte hur någon kan få detta att fungera.
Redaktionell personal
Koden för bilden är: the_post_thumbnail(); << Detta är inte statisk HTML där du kommer att se img src-kod. Funktionen anropar databasen för att söka efter en utvald bild, även känd som en miniatyrbild, som är kopplad till varje artikel. Om den hittas, kommer den att mata ut bilden. Om du inte har miniatyrbilder för inlägg aktiverade i ditt tema, behöver du lägga till det först:
https://www.wpbeginner.com/wp-themes/how-to-add-post-thumbnails-in-wordpress/
Artikeln angav tydligt detta i avsnittet Notera:. Du bör överväga att läsa den noggrant.
Admin
Roberto Silva
hej mannen, jag älskar din blogg!
Jag har en fråga?
Kan du göra samma trick men "EFTER FÖRFATTARE"?
visar de senaste inläggen av författaren?
you will save my life
Förresten tack för den här webbplatsen!
Redaktionell personal
Yes we will que the article soon
Admin
Roberto Silva
japp, tack...
Det kommer att bli en bra artikel.
eftersom "senaste inlägg av författaren utan plugin" är svårt att hitta på internet.
du är bäst.
Quinn
Tack för den här koden! Jag har provat den och den fungerar delvis.
Jag kan få det att ge en lista över relaterade artiklar, en stor fördel.
Men jag verkar inte få några bilder att visas.
Artiklar har bilder om denna kod skrapar.
Jag gick också in och skapade bilder för varje inlägg med den anpassade taggen "relatedthumb". Men ack, fortfarande inga bilder.
Finns det något annat jag behöver göra?
Tack på förhand!
Quinn
Redaktionell personal
Detta trick använder standard WordPress-miniatyrbilder som lades till i WP 2.9. Om du har en bild kopplad som den miniatyrbilden, då kommer den att dras in.
Admin
Anthony
Är det möjligt att utesluta en kategori från den här modulen?
Tack så mycket,
Anthony
Redaktionell personal
Den visar bara inlägg i den kategori som det andra inlägget finns i...
Admin
Madhav Tripathi
Hej, tack för den här bra handledningen, för närvarande använder jag Thesis-temat, så jag vill veta om det finns ett sätt i Thesis-temat att implementera den här .php-koden.
Sophie
Jag försöker modifiera hans kod för att använda den med kategorier inom en anpassad inläggstyp. Kan någon hjälpa mig? Jag är ganska ny på php.
Tack!
rulethenation
okej, jag fick det att fungera, finns det något sätt att sätta en standardbild om en miniatyrbild inte är tillgänglig
Redaktionell personal
Ja, du kan använda if-parametern för att kontrollera om det finns plugins... om inte kan du visa en standardbild.
Admin
rulethenation
hur skulle jag gå tillväga för att göra det? jag är en php-noob lol
Quickbrown
För att använda standardbilder när ingen inläggsbild är tillgänglig, ersätt med <?php if (has_post_thumbnail()) {the_post_thumbnail()} else {echo '’;} ?>
Lägg sedan en default-image.jpg i din temas bildmapp.
rulethenation
Jag kan inte få detta att fungera, det förstör bara hela min layout nära kommentarerna, missar jag något? Jag var tvungen att ta bort det från min webbplats
Clarence Johnson
Mina inlägg är nu berikade tack vare dig och den här handledningen.
Heather Hill
HEJ!
Tack för den här informationen! Det här är precis vad jag letade efter.
Finns det ett sätt att lägga till ett utdrag till detta, tillsammans med fotot?
Tack igen för din hjälp!
Redaktionell personal
Ja. Lägg bara till the_excerpt(); där du vill att det ska visas ett utdrag.
Admin
Jez
Tack för detta, precis vad jag letade efter! Jag älskar hur rakt på sak dina artiklar är, ingen förvirring.
Omer Greenwald
Tack för att du delade. Jag har använt den här koden ett tag nu men den har ett problem: när man lägger till taggar till ett inlägg sorterar WP dem alfabetiskt oavsett prioritet som jag lade till dem. Så den här koden visar relaterade inlägg som matchar den första taggen bara, vilket ibland är mindre relevant.
Kanske har du en idé om hur man kan förhindra denna automatiska sortering av taggar av WordPress eller någon annan lösning?
Redaktionell personal
Den använder inte den första taggen. Den här koden använder alla taggar från inläggen för att hitta relaterade inlägg.
Admin
Clarence Johnson
Jag upplever samma problem också.
Doug C.
All den första koden gjorde var att lägga till två instanser av samma inlägg på sidan. Den visade ingenting relaterat.
Redaktionell personal
Doug, kontakta oss via formuläret med ett levande länkeksempel, så kan vi hjälpa till. Vi vet att den här koden fungerar eftersom några av våra kunders webbplatser använder den.
Admin
Noor
Mycket användbar artikel, tack för uppdateringen
Liam
Bra handledning. Skulle någon kunna visa mig en fungerande single.php med den här koden?
Jag lär mig fortfarande php.
Tyvärr
Parse error: syntax error, unexpected T_ENDIF in C:\xampplite\htdocs\mock\wp-content\themes\scwd\single.php on line 76
Redaktionell personal
Här är ett fungerande exempel Flowtown Blog.
Notera att den här koden är så att den fungerar inuti loopen. Var försöker du posta detta? Om det är utanför loopen, lägg bara till end if-koden endif; << så där.
Admin
Liam
http://pastebin.com/m60c96f5f
Jag hoppas länken fungerar. Tack.
Redaktionell personal
Vet inte vad som kan gå fel. Efter clearfloat-klassen borde det fungera bra. Det är så vi har gjort det på flowtown och det fungerar perfekt.
Liam
Jag kommer att slutföra temat och prova det på en live-webbplats istället för xamp. Jag kommer att meddela dig.
Shahab
Fin handledning!
Just nu använder jag YARPP men skulle gärna vilja prova den här!
Tack
Suriya Kumar P
Ni gör verkligen ett jättebra jobb. Tack så mycket.
Vivek @ InfoEduTech
Tack för den här artikeln. Jag har letat länge efter att visa miniatyrbilder med mina artiklar, jag har inte kunnat utföra detta. Jag har provat många WordPress-plugins men har inte lyckats. Hoppas detta kan hjälpa mig