Pålitliga WordPress-handledningar, när du behöver dem som mest.
Nybörjarguide till WordPress
WPB Cup
25 miljoner+
Webbplatser som använder våra plugins
16+
År av WordPress-erfarenhet
3000+
WordPress-handledningar
av experter

Hur man: Relaterade inlägg med miniatyrbilder i WordPress utan plugins

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.

Hur man: Relaterade inlägg med miniatyrer i WordPress utan plugins

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:

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.

Inställningsrutan '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();.

Relaterat innehåll efter taggar Förhandsgranskning

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.

Exempel på relaterade inlägg

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.

WPCode-infogningsalternativ för anpassade kodavsnitt

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.

Vill du lära dig mer om att visa relaterade inlägg i WordPress? Kolla in dessa hjälpsamma handledningar om relaterade inlägg:

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.

Upplysning: Vårt innehåll stöds av läsarna. Det innebär att om du klickar på några av våra länkar kan vi tjäna en provision. Se hur WPBeginner finansieras, varför det är viktigt och hur du kan stödja oss. Här är vår redaktionella process.

Det ultimata WordPress-verktyget

Få GRATIS tillgång till vår verktygslåda - en samling WordPress-relaterade produkter och resurser som alla proffs bör ha!

Läsarnas interaktioner

184 CommentsLeave a Reply

  1. 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?

  2. 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

  3. 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!

    • 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.

  4. 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!

  5. Låt mig fråga om koden Relaterade inlägg efter kategori som publicerats på offentliga platser. Tack

  6. 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

  7. 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

  8. 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?

  9. 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 :)

  10. 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.

  11. 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

  12. 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

  13. 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(); ?>

    • 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=””>

  14. 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

    • 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.

  15. 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.

  16. 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?

  17. 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?

  18. 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!

  19. 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!

  20. 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.

  21. Mina miniatyrbilder är för stora, hjälp. Hur kan man begränsa miniatyrbilderna för relaterade inlägg?

  22. 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?

  23. 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

      • 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.

  24. 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 :)

  25. 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.

  26. 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!!

  27. 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

  28. Älskar den här kodbiten, använder den regelbundet! En fråga: Finns det ett sätt att utesluta vissa taggar i koden?

  29. 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,

  30. 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?

  31. 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!

  32. 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!!

  33. 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!

  34. 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

  35. 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?

  36. 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?

    • 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

  37. Hej, finns det något sätt att ändra miniatyrbildens storlek? Jag får bara ett relaterat inlägg och dess miniatyrbild är enorm

  38. 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!

  39. 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!

  40. 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 :)

  41. Vad händer om det inte finns några relaterade inlägg. kan det kodas så att det faller tillbaka på relaterade kategorier.

  42. 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!

Lämna ett svar

Tack för att du väljer att lämna en kommentar. Tänk på att alla kommentarer modereras enligt vår kommentarspolicy, och din e-postadress kommer INTE att publiceras. Använd INTE nyckelord i namn fältet. Låt oss ha en personlig och meningsfull konversation.