
✂️ Hur du ändrar utdragslängden i WordPress
Du besöker ett bloggarkiv och ser "tegelstenar": ett inlägg har ett meddelande på en halv skärm, ett annat har bara två torra rader. Detta händer eftersom WordPress som standard kapar utdrag vid 55 ord, ett antal som uppfanns för nästan två decennier sedan och har lämnats orört sedan dess.
Problemet är att en universell längd aldrig är rätt. En nyhetssajt behöver 20 ord, en långläsning behöver 80, och en portfölj behöver bara 10. De goda nyheterna: du kan ställa in din egen längd utan tillägg, med ett enda filter i functions.php. Och utan att riskera din sajt.
💡 Snabb översikt:
- Förstå vad ett utdrag är och varför 55 ord inte är en regel
- Ändra längden via
excerpt_length-filtret (2 rader kod) - Ange olika längder för startsidan, kategorier och anpassade inläggstyper
- Välj ett tillägg om kod inte är ett alternativ, och lär dig vad som fungerar 2026
- Hitta svar: utdrag vs "Läs mer", duplicerat innehåll, anpassade meddelanden
Vad är ett utdrag och varför dess längd spelar roll
Ett utdrag är en automatisk sammanfattning av ett inlägg som WordPress genererar från de första 55 orden i texten. Det visas i bloggflöden, på kategorisidor, i sökresultat på sajten och i RSS-flöden. Om författaren inte har fyllt i fältet "Utdrag" manuellt, slår det automatiska systemet till.
Siffran 55 kom från tidiga versioner av CMS:et och har inte ändrats sedan version 2.7. Då var det genomsnittliga inlägget 300-400 ord, och 55 var en rimlig kompromiss. Idag är en typisk artikel på en techblogg 1500+ ord, och ett kort utdrag förlorar sin mening: läsare förstår inte vad inlägget handlar om, och sökmotorer ser trasig text i snippets.
Utöver estetik finns det en teknisk aspekt. Om ett utdrag kapas mitt i en mening kan Google använda det fragmentet i meta description, och ditt snippet i sökresultaten ser slarvigt ut. Ett rent, meningsfullt utdrag av en definierad längd åtgärdar situationen.
Ändra längden via excerpt_length-filtret
Den mest pålitliga metoden är att använda det inbyggda excerpt_length-filtret. Det har funnits i WordPress kärna sedan version 2.7.0 och är inte beroende av teman eller tillägg. Det fungerar överallt där funktionen the_excerpt() anropas.
Här är den minimala koden för ditt barntemas functions.php-fil:
1 /** 2 * Changes excerpt length to 30 words. 3 * 4 * @param int $length Current excerpt length. 5 * @return int New excerpt length. 6 */ 7 function mytheme_excerpt_length( $length ) { 8 return 30; 9 } 10 add_filter( 'excerpt_length', 'mytheme_excerpt_length', 999 );
Vad som är viktigt här:
- Prioritet 999 är nyckeldetaljen. WordPress tillämpar internt sitt eget filter med standardprioriteten (10). Om du inte anger en hög prioritet körs din callback före systemets och skrivs över med 55. 999 garanterar att ditt filter körs sist.
- Returnera ett heltal, endast heltal. En sträng
'30'kommer att utlösa en PHP Warning i strikt läge. - Barntema: redigera inte föräldratemats
functions.php, ändringar kommer att försvinna vid uppdatering. Om du inte har ett barntema, skapa ett eller använd tillägget Code Snippets.
Koden ovan ändrar längden för alla the_excerpt()-anrop på sajten. Siffran 30 är ett exempel; ersätt med din egen. För en nyhetssajt är 20-30 ord typiskt; för en analytisk blogg, 50-70; för en portfölj, 10-15.
Om din sajt körs över HTTPS och använder en modern PHP-version (8.0+), kan du skriva det ännu kortare med en pilfunktion:
1 add_filter( 'excerpt_length', fn( $length ) => 40, 999 );
Men för kompatibilitet med äldre projekt, håll dig till den första varianten med en namngiven funktion.
Olika längder för olika sidor
Ett universellt nummer är bekvämt men sällan optimalt. På bloggens startsida behöver du fånga läsare med en utökad sammanfattning (60-70 ord), medan du i en "Relaterade inlägg"-widget behöver en kort rad på 15-20 ord. WordPress låter dig ställa in villkorlig logik genom standardfunktioner för kontextkontroll:
1 function mytheme_conditional_excerpt_length( $length ) { 2 if ( is_front_page() && is_home() ) { 3 return 70; // Blog home page 4 } 5 if ( is_category() || is_tag() ) { 6 return 45; // Category and tag pages 7 } 8 if ( is_search() ) { 9 return 30; // Search page 10 } 11 if ( is_page_template( 'template-portfolio.php' ) ) { 12 return 15; // Portfolio template 13 } 14 return 55; // Everything else 15 } 16 add_filter( 'excerpt_length', 'mytheme_conditional_excerpt_length', 999 );
Detta tillvägagångssätt täcker de allra flesta verkliga scenarier. Samma logik gäller för anpassade inläggstyper via is_singular( 'product' ) eller is_post_type_archive( 'portfolio' ).
En viktig nyans: inte varje tema använder ärligt the_excerpt(). Vissa premiumteman (särskilt äldre med egna sidbyggare) anropar wp_trim_words() direkt eller använder anpassade omslag. excerpt_length-filtret fungerar inte i sådana fall. Om ingenting ändrades efter att du lagt till koden, öppna temats functions.php och leta efter alternativa anrop; problemet löses vanligtvis genom att ersätta den anpassade funktionen med standardfunktionen the_excerpt().
Tillägg: är de värda det?
Marknaden för tillägg för utdragshantering är liten; de flesta uppgifter löses av koden från de föregående avsnitten. Det historiskt populära Advanced Excerpt (100 000+ aktiva installationer tidigare) har inte uppdaterats eller testats med de senaste WordPress-versionerna sedan 2024. På WP 6.8+ fungerar inte tillägget, och användarrecensioner bekräftar detta. Att installera det 2026 är meningslöst.
Vad som faktiskt är tillgängligt:
- Code Snippets är ett gratis tillägg som låter dig lägga till PHP-kod i adminpanelen utan att redigera
functions.php. Fungerar för alla snippet från denna artikel: klistra inexcerpt_length-filtret, aktivera, klart. Fördel: är inte rädd för temauppdateringar. Nedladdning: Code Snippets på WordPress.org. - WPCode är ett nyare verktyg med ett visuellt gränssnitt för att infoga snippets, villkorlig logik och ett molnbibliotek med färdiga recept. Om du hanterar flera sajter och inte vill duplicera kod är WPCode bekvämare.
Båda tilläggen är inte specialiserade på utdrag specifikt; de löser en bredare uppgift. Men för vårt syfte är detta tillräckligt: du lägger till filtret en gång och glömmer bort det.

Om du bestämt vill ha ett GUI-gränssnitt specifikt för utdrag (längdinmatningsfält, kryssrutor, HTML-taggval), finns det från och med 2026 inget separat aktivt underhållet tillägg med sådan funktionalitet i WordPress.orgs arkiv. Allt som tidigare fanns är antingen övergivet eller i konflikt med PHP 8.2+. I denna situation är det mer pålitligt att lära sig excerpt_length-filtret: två rader kod som inte kommer att gå sönder vid någon CMS-uppdatering.
Innan vi går vidare till vanliga frågor, här är en kort video som visar processen att lägga till kod i ett WordPress-tema:
⁉️🤔 Vanliga frågor
Vad är skillnaden mellan utdrag och "Läs mer"-taggen?
<!--more-->-taggen ("Läs mer"-knappen) kapar inlägget där du placerar den och bevarar all formatering: bilder, listor, rubriker. Ett utdrag är alltid ren text utan HTML-taggar (om inte ett tillägg används). "Läs mer" styr visningen på själva inläggssidan; utdrag styr visningen på arkivsidor. Dessa är två olika mekanismer som kan fungera samtidigt.
Skapar utdrag duplicerat innehåll för SEO?
Nej. Om utdrag genereras av funktionen
the_excerpt()på arkivsidor ser sökmotorer det sommeta descriptionför dessa sidor, inte som duplicerat innehåll. Dessutom hjälper ett korrekt konfigurerat utdrag Google att bilda ett relevant snippet. Dupliceringsproblem uppstår endast om du infogar hela inläggstexten på både arkiv- och enskilda sidor utan en kanonisk URL.
Hur ställer jag in en helt anpassad annonseringstext?
I WordPress inläggsredigerare finns ett "Utdrag"-fält. Om det är ifyllt använder systemet din text istället för den automatiska. I den klassiska redigeraren aktiverar du fältet via "Skärmalternativ" uppe till höger. I blockredigeraren (Gutenberg) använder du sidofältsfliken "Inlägg" → "Utdrag". Ett anpassat utdrag har prioritet över alla
excerpt_length-filter.
Kan jag bevara HTML i automatiska utdrag?
Standardfiltret
excerpt_lengthhanterar inte taggar;wp_trim_excerpt()tar alltid bort HTML. För att bevara formatering behöver du en separat approach: antingen ett tillägg (men inget fungerar 2026), eller att ersätta standardgeneratorn för utdrag viawp_trim_excerpt-filtret med din egen kod. Detta är en avancerad teknik för utvecklare.
Varför fungerar inte filtret med mitt tema?
Tre typiska orsaker: 1) temat anropar inte
the_excerpt()utan använder en anpassad funktion (kontrollera mallarna archive.php, category.php, search.php); 2) filtrets prioritet är lägre än WordPress inbyggda hanterare (använd999); 3) filenfunctions.phpredigerades i föräldratemat istället för barntemat, och ändringarna plockades inte upp.
Ändra utdragslängd: kod eller tillägg?
excerpt_length-filtret täcker behoven för de allra flesta WordPress-sajter. Två rader i functions.php, och utdragslängden blir exakt vad du vill ha: på startsidan, i kategorier, i sökning, för anpassade inläggstyper. Det finns inget behov av att leta efter separata utdragstillägg 2026; de är antingen övergivna eller överflödiga.
Om du aldrig har redigerat functions.php, börja med Code Snippets. Det är gratis, säkert och är inte beroende av temauppdateringar. När du väl blivit bekväm kommer villkorlig logik med is_front_page() och is_category() att låsa upp en kontrollnivå som inget GUI-utdragstillägg någonsin har erbjudit.



