
✂️ 5 Tips för att anpassa utdrag i WordPress
Du landar på din bloggs startsida och ser enorma textblock som sträcker sig över tre skärmar. En läsare scrollar inte tre skärmar för en enda artikel, de lämnar. Eller motsatsen: förhandsvisningar kapas mitt i en mening, "Läs mer"-länken visas inte, och RSS-flödet ser ut som meningsfragment utan början eller slut.
Som standard kapar WordPress utdrag efter de första 55 orden och lägger till en standardellips. Inga längdinställningar, ingen anpassning av länktext, och utdrag är inte ens tillgängliga för sidor. Allt detta går att fixa, men inte genom att klicka i kryssrutor, utan genom att lägga till några rader kod.
Här är 5 fungerande tekniker: från att ändra utdragslängd för hela webbplatsen till finjustering per kategori och automatisk infogning av en "Läs mer"-länk. Varje teknik med ett färdigt kodsnutt som du kopierar och klistrar in i functions.php.
💡 Snabb översikt:
- Ändra utdragslängd för hela webbplatsen med en funktion i functions.php
- Ange olika längder för olika kategorier med villkoret in_category()
- Lägg till en "Läs mer"-länk i slutet av varje utdrag
- Aktivera utdrag för WordPress-sidor med en rad kod
- Hantera utdrag utan programmering med pluginet Advanced Excerpt
Vad utdrag är i WordPress och hur de fungerar
Ett utdrag är en kort beskrivning av ett inlägg som visas i inläggslistor: på startsidan, i kategoriarkiv, i sökresultat och i RSS. Till skillnad från <!--more-->-taggen, som kapar innehåll vid en godtycklig punkt, är utdraget en självständig enhet: WordPress tar antingen din manuella text från metaboxen "Utdrag" eller genererar det automatiskt från inläggets första 55 ord.
Manuella utdrag har alltid företräde. Om du har fyllt i fältet "Utdrag" i redigeraren kommer systemet att visa exakt det och ignorera automatisk avkortning. Detta ger full kontroll: du kan skriva en meningsfull sammanfattning istället för att nöja dig med de två första meningarna som råkar stå i början av texten.
Problemet är att metaboxen "Utdrag" är dold som standard. Den aktiveras i "Skärmalternativ" (knappen högst upp på sidan för inläggsredigering), kryssa i rutan bredvid "Utdrag" så visas fältet under redigeraren. Sedan börjar anpassningen: de fem teknikerna nedan täcker alla typiska scenarier.
1. Ändra utdragslängd via functions.php
Detta är grunden. WordPress kapar som standard vid 55 ord, inte tillräckligt för en tydlig förhandsvisning men tillräckligt för att en läsare ska förstå ämnet. Om du behöver mer (eller mindre) löser filtret excerpt_length uppgiften med en funktion.
Vad koden gör: åsidosätter antalet ord som WordPress returnerar i the_excerpt(). Rör inte manuella utdrag, om du har fyllt i fältet i redigeraren visas det som det är.
- Öppna
functions.phpi ditt tema (Utseende → Temaredigerare →functions.php) eller via FTP - Lägg till i slutet av filen (före
?>om den finns):
1 function my_excerpt_length($length) { 2 return 110; 3 } 4 add_filter('excerpt_length', 'my_excerpt_length');
- Spara filen
Siffran 110 är antalet ord. För en typisk blogg ger 80-120 ord 3-4 meningar, tillräckligt för en meningsfull förhandsvisning utan att överbelasta startsidan. RSS-läsare kommer också att uppskatta det: de har sina egna gränser, och ett för långt utdrag kan kapas mer aggressivt än du planerat.
Om du använder ett blocktema (Block Theme, FSE) kan functions.php saknas eller inte fungera som förväntat. Skapa i så fall ett barntema eller använd pluginet Code Snippets, det lägger till kodsnuttar utan att redigera temafiler.
2. Olika utdragslängder för olika kategorier
Nyheter behöver 30 ord, medan recensioner och guider behöver 100-120. Filtret excerpt_length i sin grundversion ger ett värde för hela webbplatsen, inte flexibelt. Följande kod separerar längd efter kategori.
Scenario A, en kategori med en speciell längd. Du har en kategori "Recensioner" där utdrag ska vara kortare:
1 function excerpt_length_category($length) { 2 if (in_category('Reviews')) { 3 return 20; 4 } else { 5 return 60; 6 } 7 } 8 add_filter('excerpt_length', 'excerpt_length_category');
Ersätt Reviews med din kategoris slug, siffrorna med det du behöver.
Scenario B, flera kategorier med olika längder. En if/elseif/else-kaskad täcker tre nivåer: en kategori, en grupp kategorier och allt annat:
1 function excerpt_length_category($length) { 2 if (in_category('Review')) { 3 return 35; 4 } elseif (in_category(array('News', 'Videos', 'Editorial'))) { 5 return 60; 6 } else { 7 return 55; 8 } 9 } 10 add_filter('excerpt_length', 'excerpt_length_category');
in_category() accepterar en kategorislug (sträng) eller en array av sluggar. Villkoren kontrolleras i ordning, den första träffen aktiveras. I exemplet ovan: inlägg från "Review" får 35 ord, från "News", "Videos" och "Editorial" får 60, allt annat får 55.
Efter att du sparat, kontrollera startsidan och ett par kategorisidor, utdragslängderna bör skilja sig beroende på vilken kategori inlägget är tilldelat.
3. Lägg till en "Läs mer"-länk i slutet av utdraget
Utdraget kapas, och läsare förstår inte alltid att detta bara är en förhandsvisning, inte hela artikeln. En länk i slutet av utdraget löser problemet: en uttrycklig uppmaning att klicka och läsa i sin helhet.

WordPress sätter som standard [...] där det kapar, men det är ingen länk. Filtret excerpt_more ersätter ellipsen med en anpassad sträng som innehåller HTML:
1 function excerpt_readmore($more) { 2 return '... <a href="' . get_permalink($post->ID) . '" class="readmore">' . 'Read More' . '</a>'; 3 } 4 add_filter('excerpt_more', 'excerpt_readmore');
Vad du kan ändra:
- Länktext, ersätt
Read Moremed din version, till exempelContinue readingellerLearn more - CSS-klass,
readmoreiclass-attributet kan ersättas med din egen och stylas via CSS (färg, storlek, avstånd, understrykning) - Separator, ellipsen med mellanslag
'... 'före<a>-taggen kan tas bort eller ersättas med|eller,
Efter att du sparat, öppna bloggens startsida eller arkiv, varje utdrag kommer att ha en klickbar länk till hela inlägget i slutet. Detta fungerar även i RSS (de flesta läsare visar HTML-länkar korrekt).
4. Aktivera utdrag för WordPress-sidor
Sidor i WordPress stöder inte utdrag som standard. Inläggstypen page är inte registrerad med stöd för excerpt, och metaboxen visas inte i redigeraren, även om du aktiverar den i "Skärmalternativ". Men ibland behövs det: en landningssida med förhandsvisningar av undersidor, anpassad utmatning via WP_Query, servicesidor som kort.
Lösningen är en funktion som lägger till utdragsstöd för inläggstypen page:
1 function wploop_pages_excerpt() { 2 add_post_type_support('page', 'excerpt'); 3 } 4 add_action('init', 'wploop_pages_excerpt');
När du har sparat functions.php:
- Gå till redigeringsvyn för valfri sida
- Klicka på "Skärmalternativ" högst upp
- Kryssa i rutan "Utdrag", nu finns den där
- Scrolla ner på sidan, utdragsfältet har dykt upp
Om du använder en anpassad posttyp (CPT) byter du ut page mot din CPT-slug, mekaniken är densamma. När du registrerar en CPT via register_post_type() kan du direkt ange 'supports' => array(..., 'excerpt') och slippa extra kod.
5. Hantera utdrag med Advanced Excerpt-pluginet
Vill du slippa pilla med kod? Pluginet Advanced Excerpt ger dig visuell kontroll över alla aspekter av utdrag via adminpanelen.

Efter installation och aktivering (gratis, från WordPress repository) dyker en Advanced Excerpt-sida upp i menyn "Inställningar" med följande alternativ:
- Utdragslängd, i tecken eller ord. Tecken är mer exakt för layoutkontroll, ord för läsbarhet
- Ellipsis, symbolen eller HTML-koden som avslutar utdraget. Standard är
…(ellipsis…). Kan ersättas med[...], en pil, en ikon eller lämnas tom - Kapningsmetod, efter tecken (ett ord kan kapas mitt i) eller efter meningar (alltid en fullständig mening, men utdraget blir längre än den angivna gränsen)
- "Läs mer"-länk, aktivera/inaktivera, sätt text, omslut i anpassad HTML
- Visa inte manuella utdrag, om aktiverad genererar pluginet alltid utdrag automatiskt, även om du har fyllt i fältet manuellt
- Ta bort shortcodes från utdrag, ha definitivt denna aktiverad så att inte
[contact-form-7]eller[shortcode]sticker ut i förhandsvisningen - Filter, välj vilken funktion temat använder för att mata ut utdrag:
the_excerpt(),the_content(), eller båda. Om du är osäker, lämna båda kryssrutorna ikryssade

Pluginet använder samma excerpt_length- och excerpt_more-hooks som den manuella koden från tips 1-3, men paketerar dem i ett gränssnitt. Utvecklardokumentation på GitHub Wiki beskriver filter för anpassad integration.
År 2026 är pluginet aktivt på över 80 000 webbplatser men uppdateras sällan: den senaste versionen kom i januari 2024 och är testad upp till WordPress 6.4. Innan du installerar på en ny WordPress-version, kontrollera kompatibiliteten i en staging-miljö.
Innan vi går vidare till vanliga frågor, en kort video om att arbeta med utdrag i WordPress i praktiken:
⁉️🤔 Vanliga frågor
Hur skiljer sig ett manuellt utdrag från taggen <!--more-->?
Ett utdrag är ett separat fält som matas ut via funktionen
the_excerpt()i temamallar. Taggen<!--more-->infogas i inläggets brödtext och kaparthe_content()vid en specifik punkt. Utdrag visas i inläggslistor och RSS, more-taggen fungerar bara därthe_content()används. För en kort sammanfattning i arkiv, använd utdrag, för att kapa ett långt inlägg på startsidan räcker more-taggen.
Varför visas inte utdraget trots att jag skrev det i redigeraren?
Temat anropar inte
the_excerpt()i den nödvändiga mallen. Kontrollera mallarna archive.php, category.php, home.php och search.php. Omthe_content()finns där ignoreras manuella utdrag. Ersätt medthe_excerpt()eller använd en villkorskonstruktionif (has_excerpt()) { the_excerpt(); } else { the_content(); }.
Kan jag visa en utvald bild bredvid utdraget?
Ja, temat bör anropa
the_post_thumbnail()förethe_excerpt()i loopen. De flesta moderna WordPress-teman gör detta som standard. Om inte, lägg till miniatyrbildsanropet i mallen före utdraget. För anpassad märkning, omslut båda anropen i<div class="post-card">och stila via CSS.
Hur tar jag bort utdrag endast från startsidan, men behåller dem i arkiv?
Använd villkors-taggen
is_home()inuti filtret. Till exempel, ifunctions.php:
1 function disable_excerpt_on_home($excerpt) { 2 if (is_home()) { 3 return ''; 4 } 5 return $excerpt; 6 } 7 add_filter('get_the_excerpt', 'disable_excerpt_on_home');
För mer exakta inställningar per sidtyp, kategori eller inläggstyp, använd Advanced Excerpt-pluginet från tips 5: dess inställningar har "Inaktivera på..."-kryssrutor för startsida, arkiv, sök och enskilda sidor.
Vad du ska göra med utdrag just nu
Implementeringsordning, från enkelt till komplext. Börja med tips 1: en funktion, en siffra, och utdragslängden över hela webbplatsen är redan under kontroll. Lägg sedan till "Läs mer"-länken (tips 3), detta är avgörande för klickbarheten på startsidan och i RSS. Om du driver en blogg med sektioner i olika format, kommer tips 2 om längd per kategori att eliminera dissonansen mellan nyheter och långläsning.
Använd Advanced Excerpt-pluginet (tips 5) om du vill undvika kod helt eller om ditt tema använder ett icke-standardiserat sätt att mata ut innehåll och filtren excerpt_length/excerpt_more inte triggas. I andra fall är kod från functions.php mer tillförlitlig: färre beroenden, skapar ingen belastning, fungerar med alla teman.
1



