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.

Abhijit Badgujar
Hej,
Jag har ett alternativ för 'Relaterade inlägg' från mitt WordPress-tema och jag använder det redan. Jag har visat 6 inlägg efter innehållet. Problemet är att det bara visar 3 relaterade inlägg och de nästa tre kan ses när man drar det horisontellt. Jag vill inte ha det alternativet, jag vill att webbplatsen ska visa alla 6 inlägg direkt. Kan du tala om för mig hur jag gör det?
Gyuricza Laszlo
Hej,
Din vägledning var fantastisk, men hur kan jag utesluta en specifik kategori från de relaterade inläggen för att inte visa den?
Tack på förhand!
Vänliga hälsningar,
LAszlo Gyuricza
WPBeginner Support
Du kan prova ett av plugins för relaterade inlägg.
Admin
Tuta
Hej Syed. Hur stylar jag det?
WPBeginner Support
Hej Tuta,
Du kan använda #relatedposts .relatedthumb och .relatedcontent selektorer i din CSS för att styla det.
Admin
Dev Rathore
Hur visar man en lista över alla inlägg på en sida
Suraz
Hur visar man relaterade inlägg i två kolumner som här på WPBeginner??
Tom
Bra lösning men inte definitiv för mina krav. Faktum är att det huvudsakliga problemet är att denna kod sorterar relaterade inlägg från de senaste i samma kategori eller taggar. Resultatet är att när du bläddrar i en kategori/tagg kommer du alltid att visa samma få senaste inlägg, vilket kraftigt begränsar de äldre inläggen på din webbplats. Är det en korrekt slutsats? Vänligen dela din åsikt om du har provat det!
Glädje
1. Efter ‘caller_get_posts’=>1 sätt ett kommatecken(,)
2. Tryck på enter-knappen [nästa rad]
3. Lägg till ‘orderby’=>’rand’
Du är klar. Nu kommer relaterade inlägg att visas slumpmässigt. Tack.
Zane DeVault
Den här koden fungerar utmärkt. Jag undrade om du kunde förklara vad den här delen av koden gör?
$orig_post = $post;
global $post;
…
$post = $orig_post;
Jag tror att jag har en uppfattning om vad resten gör, men detta gör mig förvirrad.
Tack för allt ditt fantastiska innehåll!
may nghe len
Låt mig fråga om koden Relaterade inlägg efter kategori som publicerats på offentliga platser. Tack
atiq
i Twentyfifteen standardtema var ska jag infoga den här koden i filen single.php? Om jag infogar den ovanför endwhile; visas ett syntaxfel, unexpected 'endwhile' och om jag infogar den under endwhile; men ovanför endif; visas ett syntaxfel, unexpected 'endif'
Någon lösning på detta?
Tack
Mohammad Kazemi
Du måste använda '<?php' inte '<?'
atiq
I Twentyfifteen standardtema, var ska jag infoga den här koden i filen single.php? Om jag infogade den ovanför enwhile; visas ett syntaxfel, oväntat ‘endwhile’ och om jag infogade den under enwwile men ovanför endif; visas ett syntaxfel, oväntat ‘endif’
Någon lösning på detta?
Tack
Marcel Tripoux
Hej! Bra inlägg!
Finns det ett sätt att kombinera båda alternativen, för att bara anropa relaterade taggar i den aktuella kategorin?
Bambang
min single.php-layout:
//the_content bla bla bla code here
//Klistra in koden för relaterade inlägg efter taggar här
//comments_template bla bla bla kod här
——————————-
resultatet jag fick var ett fel:
Parse error: syntax error, unexpected ‘endwhile’ (T_ENDWHILE) in …
——————————-
efter att jag ändrade ” <? } " till " <?php } " fungerade det,
just sugestion, maybe it better if you put complete php open tag
thanks
Alex
Fungerar perfekt. Hur utesluter man en specifik tagg från relaterade inlägg efter taggar? Jag menar hur man ändrar koden när algoritmen hittar andra inlägg med någon av taggarna (förutom tagg 595 till exempel) som det aktuella inlägget har och listar dem.
Mohammad
Tack för den fina koden
Den fungerar utmärkt men du har inte inkluderat några CSS-koder för ett vackrare utseende för den här sektionen. Kan du vara snäll och göra det? Jag är nybörjare på kodning och jag har provat några koder men de fungerade inte. I din kod finns:
echo ‘Related Posts’;
men i liknande koder som jag hittat i andra källor finns:
och i css några koder som dessa:
.relatedposts {
font-size: 12px;
width: 640px;
}
.relatedposts h3 {
font-size: 20px;
margin: 0 0 5px;
}
kommer att ge ett snyggt utseende men det fungerade inte med din kod.
Tack
Muthu
Kära kollega, detta är ett fel jag får när jag klistrar in den här koden i filen single.php. Vänligen tala om exakt var jag ska klistra in den här koden.
Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\beingusefull\wp-content\themes\TechPlus\single.php on line 78
WPBeginner Staff
Det beror på ditt individuella tema och din mall. Du måste lägga till den villkorliga taggen efter att WordPress-loopen har börjat. Efter den här raden:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>Jenny
Jag fick också det där felet och här är min uppdaterade kod:
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, // Antal relaterade inlägg som kommer att visas.
‘caller_get_posts’=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) { ?>
Relaterade inlägg
have_posts() ) : $my_query->the_post(); ?>
<a href="” rel=”bookmark” title=””>
<a href="” rel=”bookmark” title=””>
wiyono
När inlägget jag delar på Facebook får miniatyrbilden från ett relaterat inlägg, kan jag få miniatyrbilden från huvudsidan? tack
Lacey Tech Solutions
Om du använder Yoast’s WordPress SEO-plugin kan du ange miniatyrbildens URL under fliken sociala medier för inlägget. Om fliken sociala medier inte visas måste du klicka på länken Yoast SEO i WordPress adminmeny och sedan klicka på ”Social”. På sidan sociala medier markerar du alternativet ”Lägg till Open Graph-metadata” och sparar. Gå tillbaka till ditt inlägg så kan du ange miniatyrbilden du vill använda när inlägget delas. Om du inte uttryckligen anger inläggsbilden har användaren möjlighet att välja vilken bild som helst som visas på sidan, vilket är anledningen till att dina senaste inläggsbilder dras in när du delar länken till artikeln.
Gretchen Louise
Några tankar om hur mycket databas-/serverbelastning detta skulle innebära på en stor självhostad webbplats? Letar efter ett alternativ för relaterade inlägg nu när #nRelate inte längre är tillgängligt.
WPBeginner Staff
Använd villkorlig tagg if (is_single()) på första raden av koden.
vipul
kan du berätta var och hur?
Rachael
Detta fungerar inte i single.php för mig, eftersom relaterade inlägg visas längst ner på sidan. Det fungerar med loop.php men då visas de även på startsidan – några idéer på en lösning så att det bara visas i enskilda inlägg och inte på startsidan?
kate // alltid sugen //
Hej, jag måste vara den enda som inte gör detta korrekt. Mitt tema stöder utvalda bilder, jag lade till den här koden före kommentarerna i filen single.php. Några tips om exakt var jag ska ange i koden?
Keyko Sakura
Alla koder jag hittar fungerar aldrig. Eller så ändrar de ingenting på min sida eller så visar de ett felmeddelande. Jag vet inte vad jag mer ska göra!
Mason Coulter
Finns det ett sätt att lägga till sidnumrering till frågan om relaterade inlägg? Jag verkar inte kunna få sidnumreringen att fungera på en sekundär fråga inom single.php. Tack!
Tom K.
Hej, jag vill fråga, finns det ett sätt att göra så att relaterade inlägg är efter kategori och taggar på ett ställe? Tack.
Jonas
Mina miniatyrbilder är för stora, hjälp. Hur kan man begränsa miniatyrbilderna för relaterade inlägg?
WPBeginner Support
Du behöver förmodligen återgenerera miniatyrbilder.
Admin
Jonathan
Finns det ett sätt att välja en enda kategori (låt oss kalla den Varumärken) och sedan få den att visa relaterade inlägg som endast är kopplade till underkategorierna under Varumärken? Så, hierarkin för kategorierna skulle vara Varumärken > JCPenny. Jag vill bara visa relaterade inlägg för JCPenny. Men den underkategorin kan vara olika per inlägg. Så om ett inlägg använder en annan underkategori kommer det att visa relaterade inlägg för den underkategorin. Kan den här koden modifieras för att hantera det på något sätt?
Jonathan
OH! Jag tror jag har fattat det. Jag lade precis till ‘parent’ => ‘katten id-nummer’, till argumenten och jag tror att det löste det.
Jonathan
wait… no, that didn’t work
Miro
Hej, tack för koden, men istället för att hämta den markerade bilden som en miniatyrbild, kan jag istället hämta den första bilden i mina inlägg? Tack
WPBeginner Support
Det här låter som en bra idé för ett inlägg, vi kommer att täcka det snart i en ny artikel. Tack för feedbacken.
Admin
Miro
Det vore bra om ni kunde skriva ett inlägg om det. Tack så mycket och jag väntar. Hoppas att ni vänligen kan posta en notis här när ni har skrivit inlägget så att vi vet.
Caleb
Bra inlägg tack! Jag driver en webbplats som använder WP mer som ett CMS med ett stort antal sidor snarare än inlägg. Kan jag göra detta med relaterade sidor istället, så att den hämtar relaterade sidor och inte inlägg? Om så är fallet, hur gör jag?
Thanks for the help
Muhammad Hadi Qureshi
Verkligen tack för detta hjälpsamma inlägg
Phil Simon
Detta. Är. Fantastiskt. WPEngine tillåter förståeligt nog inte plugins för relaterade inlägg, med några få undantag. Jag provade några och gillade dem verkligen inte. Jag lade in den här koden i single.php och vips! Tack.
Lucas Bishop
Det här är bra, men jag vill göra det med inläggets titel istället för taggar eller kategorier. Några förslag på det, syed!!
Alexandros
Hej vänner, litet problem verkar det som: “Parse error: syntax error, unexpected ‘endwhile’ (T_ENDWHILE) in C: \ xampp \ htdocs \ z1 \ wp-content \ themes \ mytheme \ single.php on line 65” hitta
Men vad..? Tack
WPBeginner Support
Försök att klistra in koden efter endwhile; i din single.php-fil.
Admin
Britt
Älskar den här kodbiten, använder den regelbundet! En fråga: Finns det ett sätt att utesluta vissa taggar i koden?
Rakesh
Ta en titt på koden för relaterade inlägg i kategorin. Den fungerar inte om du inte lägger till lite php, de tre bokstäverna innan du börjar med echo. Lägg till php och det kommer inte att ignoreras. I vilket fall som helst ignoreras det och wordpress gråter varje gång med ett felmeddelande. Tack för koden förresten, den gjorde mitt arbete mycket enklare. Tack så mycket för det och justera det,
Dennis
Dessutom har jag en fråga till,
Vad händer om jag vill visa ett visst inlägg som innehåller en viss tagg för alla inlägg, hur skulle jag göra det?
Dennis
Hej, det här är så fantastiskt! Nu kan jag bara bli av med mitt plugin för relaterade inlägg, så tack SÅ MYCKET för det!
En fråga jag har är, hur kan jag visa de relaterade inläggen i 2 kolumner?
Än en gång, detta har varit en så stor hjälp för mig!
Christina
Hej!! Tack för din hjälpsamma information för dem som, liksom jag, inte har någon aning om kodning, men ändå vill ha en blogg!! Jag har precis införlivat din kod "relaterade inlägg per taggar" i min fil för enskilda inlägg. Det fungerar förutom bilderna. De visas inte alls och titlarna på mina relaterade inlägg visas en under den andra, som en lista. Vad har jag gjort för fel?? Tack på förhand för ditt svar!!
WPBeginner Support
Det verkar som att du inte använder miniatyrbilder eller utvalda bilder med dina inlägg i WordPress. Du kan också behöva justera CSS lite.
Admin
TheFran
Hej,
Den här koden är fantastisk! Tack så mycket. Finns det ett sätt att få koden att visa relaterade inlägg från EN ANNAN SIDA? Så att den söker inlägg från en annan sida som jag visar under inlägget som ett relaterat inlägg på min sida?
Tack!
Redaktionell personal
Använder inte detta utdrag. Du skulle behöva skapa något mer komplext för det.
Admin
Carlos
Hej,
Jag använder ett tema som fungerar med anpassade inlägg. Jag undrar om jag provar din kod, vilken del ska jag redigera för att bara visa de anpassade inläggen istället för de vanliga inläggen.
Tack
Miz.Chellie
Hej – din är den första handledningen jag hittade som fungerar, men jag skulle vilja ha listan vertikal. Kan du ge ett exempel på CSS för det?
Livius
Hej,
Jag kan inte hitta single.php där jag måste infoga denna kod.
The problem is that I am using Balance Theme + Genesis. So in the genesis, I can find the Single.php, but it says to “Not Edit Under Any Circumstances”, and I have actually pasted the code in there, but it made my site to stop opening pages at all.
And in the Child Balance Theme, there is no Single.php ….
Några förslag?
Redaktionell personal
Ja, redigera inte ramverksfilen. Du måste bekanta dig med Genesis hooks och filter. Lägg sedan till koden i en av loop hooks för en enskild sida med din functions.php-fil. Tyvärr, på grund av mängden ramverk som finns, kan vi inte täcka våra tips för alla ramverk.
Admin
Mark
Använd Genesis Hooks och lägg sedan koden där.
peter
Hej, finns det något sätt att ändra miniatyrbildens storlek? Jag får bara ett relaterat inlägg och dess miniatyrbild är enorm
Redaktionell personal
Ja. Du måste lägga till ytterligare bildstorlekar så här:
https://014.leahstevensyj.workers.dev/wp-tutorials/how-to-create-additional-image-sizes-in-wordpress/
Admin
Dean
Hej! det här är mycket användbar kodning. Är det möjligt att använda detta för att skapa en anpassad sida som visar alla inlägg, som en webbplatskarta men med miniatyrbilder? Något sådant här:
Kategori 1
—– relaterade inläggskod (alla inlägg från den kategorin) ——
Kategori 2
—– relaterade inläggskod (alla inlägg från den kategorin) ——
etc. Det skulle vara en utmärkt demonstration för kategorier med få inlägg. Tack för att du läser och hjälper till!
Dean
hey, found something here.. I will try that
Nuno Marques
Hej,
mycket användbart ditt "Relaterade inlägg per kategori".
Ibland tror jag att det är bättre att lägga till en rå kod istället för att använda ett plugin som inte är så utbyggbart...
Tack!
Silverbadger
Är det möjligt att visa inläggen horisontellt istället för vertikalt?
Thanks
Redaktionell personal
Ja, du kan helt enkelt justera CSS:en.
Admin
Paul
Thank you thank you thank you!! A simple copy paste bit of code that just gets on with it and works – does exactly what it says. This is exactly what I was looking for
Redaktionell personal
Ja, du kan använda miniatyrbilder för inlägg i sig. Jag är inte säker på varför du skulle vilja ha den relaterade funktionen...
Admin
Raheek
Tack för den hjälpsamma artikeln. Jag har nu lagt till relaterade inlägg med hjälp av denna kod.
Ferdy
Vad händer om det inte finns några relaterade inlägg. kan det kodas så att det faller tillbaka på relaterade kategorier.
tobalseverin
hej!
jag behöver lite hjälp...
Hur kan jag filtrera.. kategorin, men om jag har föräldra- och barnkategorier och bara visar barninlägget. ex:
– produkt (alla produkter, detta är föräldern) (id 104)
– KindOfProducts (underkategori, detta är barnet) (id 109)
– KindOfProductsTwo (underkategori, detta är barnet) (id 110)
i produkter har alla inlägg men behöver bara visa relaterade från barnet: KindOfProducts.
jag försöker med detta:
$args = array(
‘category__in’ => $category_ids,
‘category__not_in’ => 104,
‘post__not_in’ => array($post->ID),
‘orderby’=> ‘rand’,
‘showposts’ => 100,
‘ignore_sticky_posts’ => 1
);
men visa mig inget...
och jag försöker med den här andra:
$args = array(
‘category__in’ => $category_ids,
‘child_of’ => 104,
‘post__not_in’ => array($post->ID),
‘orderby’=> ‘rand’,
‘showposts’ => 100,
‘ignore_sticky_posts’ => 1
);
och ingenting
hjälp? tack!