Skip to content

Alt om WordPress, webutvikling — og mer til

✂️ 5 Tips for å tilpasse utdrag i WordPress

✂️ 5 Tips for å tilpasse utdrag i WordPress

Du lander på bloggens forside og ser enorme blokker med innlegg strukket over tre skjermer. En leser blar ikke gjennom tre skjermer for én enkelt artikkel, de forlater siden. Eller det motsatte: forhåndsvisninger kuttes midt i en setning, «Les mer»-lenken dukker ikke opp, og RSS-feeden ser ut som setningsfragmenter uten begynnelse eller slutt.

Som standard kutter WordPress utdrag ved de første 55 ordene og legger til en standard ellipse. Ingen lengdeinnstillinger, ingen tilpasning av lenketekst, og utdrag er ikke engang tilgjengelig for Sider. Alt dette kan fikses, men ikke ved å krysse av i bokser, men ved å legge til noen få linjer med kode.

Nedenfor finner du 5 fungerende teknikker: fra å endre utdragslengde for hele nettstedet til finjustering etter kategori og automatisk innsetting av en «Les mer»-lenke. Hver med en klar kodebit som du kopierer og limer inn i functions.php.

💡 Rask oversikt:

  • Endre utdragslengde for hele nettstedet med én funksjon i functions.php
  • Angi forskjellige lengder for ulike kategorier ved hjelp av in_category()-betingelsen
  • Legg til en «Les mer»-lenke på slutten av hvert utdrag
  • Aktiver utdrag for WordPress-sider med én kodelinje
  • Administrer utdrag uten programmering ved hjelp av utvidelsen Advanced Excerpt

Hva utdrag er i WordPress og hvordan de fungerer

Et utdrag er en kort beskrivelse av et innlegg som vises i innleggslister: på forsiden, i kategoriarkiver, i søkeresultater og i RSS. I motsetning til <!--more-->-taggen, som kutter innhold på et vilkårlig punkt, er utdraget en uavhengig enhet: WordPress henter enten din manuelle tekst fra «Utdrag»-metaboksen eller genererer den automatisk fra de første 55 ordene i innlegget.

Manuelle utdrag har alltid prioritet. Hvis du har fylt ut «Utdrag»-feltet i redigeringsprogrammet, vil systemet vise nøyaktig det og ignorere automatisk trimming. Dette gir full kontroll: du kan skrive et meningsfylt sammendrag i stedet for å nøye deg med de to første setningene som tilfeldigvis står i begynnelsen av teksten.

Problemet er at «Utdrag»-metaboksen er skjult som standard. Den aktiveres i «Skjerminnstillinger» (knapp øverst på innleggsredigeringssiden), kryss av i boksen ved siden av «Utdrag», så dukker feltet opp under redigeringsprogrammet. Så begynner tilpasningen: de fem teknikkene nedenfor dekker alle typiske scenarioer.

1. Endre utdragslengde via functions.php

Dette er grunnlaget. WordPress kutter som standard ved 55 ord, ikke nok for en tydelig forhåndsvisning, men tilstrekkelig for at en leser skal forstå temaet. Hvis du trenger mer (eller mindre), løser excerpt_length-filteret oppgaven med én funksjon.

Hva koden gjør: overstyrer antall ord WordPress returnerer i the_excerpt(). Rører ikke manuelle utdrag, hvis du har fylt ut feltet i redigeringsprogrammet, vises det som det er.

  • Åpne functions.php i temaet ditt (Utseende → Temaredigering → functions.php) eller via FTP
  • Legg til på slutten av filen (før ?> hvis den finnes):
1function my_excerpt_length($length) {
2 return 110;
3}
4add_filter('excerpt_length', 'my_excerpt_length');
  • Lagre filen

Tallet 110 er antall ord. For en typisk blogg gir 80-120 ord 3-4 setninger, nok til en meningsfylt forhåndsvisning uten å overbelaste forsiden. RSS-lesere vil også sette pris på det: de har sine egne grenser, og et utdrag som er for langt kan bli kuttet mer aggressivt enn du planla.

Hvis du bruker et blokktema (Block Theme, FSE), kan functions.php mangle eller ikke fungere som forventet. I så fall, opprett et child theme eller bruk utvidelsen Code Snippets, den legger til kodebiter uten å redigere temafiler.

2. Ulike utdragslengder for ulike kategorier

Nyheter trenger 30 ord, mens anmeldelser og guider trenger 100-120. excerpt_length-filteret i sin grunnversjon gir én verdi for hele nettstedet, ikke fleksibelt. Følgende kode skiller lengde etter kategori.

Scenario A, én kategori med en spesiell lengde. Du har en «Anmeldelser»-kategori der utdragene skal være kortere:

1function excerpt_length_category($length) {
2 if (in_category('Reviews')) {
3 return 20;
4 } else {
5 return 60;
6 }
7}
8add_filter('excerpt_length', 'excerpt_length_category');

Erstatt Reviews med din kategorislug, tallene med det du trenger.

Scenario B, flere kategorier med ulike lengder. En if/elseif/else-kaskade dekker tre nivåer: én kategori, en gruppe kategorier og alt annet:

1function 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}
10add_filter('excerpt_length', 'excerpt_length_category');

in_category() aksepterer en kategorislug (streng) eller en matrise med sluger. Betingelser sjekkes i rekkefølge, den første treffet utløses. I eksemplet over: innlegg fra «Review» får 35 ord, fra «News», «Videos» og «Editorial» får 60, alt annet får 55.

Etter lagring, sjekk forsiden og et par kategorisider, utdragslengdene bør variere avhengig av hvilken kategori innlegget er tilordnet.

3. Legg til en «Les mer»-lenke på slutten av utdraget

Utdraget kuttes av, og leserne forstår ikke alltid at dette bare er en forhåndsvisning, ikke hele artikkelen. En lenke på slutten av utdraget løser problemet: en eksplisitt oppfordring til å klikke og lese i sin helhet.

Eksempel på en Les mer-lenke på slutten av et WordPress-utdrag

WordPress setter som standard [...] der det kuttes, men det er ikke en lenke. excerpt_more-filteret erstatter ellipsen med en egendefinert streng som inneholder HTML:

1function excerpt_readmore($more) {
2 return '... <a href="' . get_permalink($post->ID) . '" class="readmore">' . 'Read More' . '</a>';
3}
4add_filter('excerpt_more', 'excerpt_readmore');

Hva du kan endre:

  • Lenketekst, erstatt Read More med din versjon, for eksempel Continue reading eller Learn more
  • CSS-klasse, readmore i class-attributtet kan erstattes med din egen og styles via CSS (farge, størrelse, mellomrom, understreking)
  • Skilletegn, ellipsen med mellomrom '... ' før <a>-taggen kan fjernes eller erstattes med | eller ,

Etter lagring, åpne bloggforsiden eller arkivet, hvert utdrag vil ha en klikkbar lenke til hele innlegget på slutten. Dette fungerer i RSS også (de fleste lesere viser HTML-lenker korrekt).

4. Aktiver utdrag for WordPress-sider

Sider i WordPress støtter ikke utdrag ut av boksen. Innleggstypen page er ikke registrert med excerpt-støtte, og metaboksen vises ikke i redigeringsprogrammet, selv om du aktiverer den i «Skjerminnstillinger». Men noen ganger trenger du det: en landingsside med forhåndsvisninger av undersider, egendefinert utdata via WP_Query, tjenestesider som kort.

Løsningen er én funksjon som legger til utdragsstøtte for innleggstypen page:

1function wploop_pages_excerpt() {
2 add_post_type_support('page', 'excerpt');
3}
4add_action('init', 'wploop_pages_excerpt');

Etter at du har lagret functions.php:

  • Gå til redigeringsvisningen for en hvilken som helst side
  • Klikk på «Skjerminnstillinger» øverst
  • Kryss av for «Sammendrag», nå er feltet der
  • Rull nedover siden, sammendragsfeltet har dukket opp

Hvis du bruker en egendefinert innholdstype (CPT), bytter du ut page med sluggen for din CPT, mekanikken er den samme. Når du registrerer en CPT via register_post_type() kan du umiddelbart angi 'supports' => array(..., 'excerpt') og unngå ekstra kode.

5. Administrer utdrag via Advanced Excerpt-utvidelsen

Vil du ikke rote med kode? Utvidelsen Advanced Excerpt gir visuell kontroll over alle aspekter ved utdrag gjennom administrasjonspanelet.

Innstillingssiden for Advanced Excerpt-utvidelsen i WordPress-administrasjonen

Etter installasjon og aktivering (gratis, fra WordPress-repositoriet) dukker det opp en Advanced Excerpt-side i «Innstillinger»-menyen med følgende valg:

  • Utdragslengde, i tegn eller ord. Tegn er mer presist for layoutkontroll, ord for lesbarhet
  • Ellipse, symbolet eller HTML-koden som avslutter utdraget. Standard er &hellip; (ellipse ). Kan erstattes med [...], en pil, et ikon eller stå tomt
  • Trimmeringsmetode, etter tegn (et ord kan kuttes midt i) eller etter setninger (alltid en fullstendig setning, men utdraget blir lengre enn den oppgitte grensen)
  • «Les mer»-lenke, aktiver/deaktiver, angi tekst, pakk inn i egendefinert HTML
  • Ikke vis manuelle utdrag, hvis aktivert genererer utvidelsen alltid utdrag automatisk, selv om du har fylt ut feltet manuelt
  • Fjern shortcodes fra utdrag, absolutt lurt å ha denne aktivert så ikke [contact-form-7] eller [shortcode] stikker seg ut i forhåndsvisningen
  • Filter, velg hvilken funksjon temaet bruker for å vise utdrag: the_excerpt(), the_content() eller begge. Er du usikker, la begge avkrysningsboksene være på
Ytterligere filtreringsinnstillinger i Advanced Excerpt-utvidelsen

Utvidelsen bruker de samme excerpt_length- og excerpt_more-krokene som manuell kode fra tips 1-3, men pakker dem inn i et grensesnitt. Utviklerdokumentasjon på GitHub Wiki beskriver filtre for egendefinert integrasjon.

Per 2026 er utvidelsen aktiv på over 80 000 nettsteder, men oppdateres sjelden: siste utgivelse kom i januar 2024 og er testet opp til WordPress 6.4. Før du installerer på en fersk WordPress-versjon, sjekk kompatibiliteten i et staging-miljø.

Før vi går over til ofte stilte spørsmål, en kort video om praktisk arbeid med utdrag i WordPress:

⁉️🤔 Ofte stilte spørsmål

Hvordan skiller et manuelt utdrag seg fra <!--more-->-taggen?

Et utdrag er et eget felt som vises via the_excerpt()-funksjonen i temamaler. <!--more-->-taggen settes inn i innleggsteksten og kutter the_content() på et bestemt punkt. Utdrag vises i innleggslister og RSS, more-taggen fungerer bare der the_content() brukes. For et kort sammendrag i arkiver, bruk utdrag, for å kutte et langt innlegg på forsiden er more-taggen tilstrekkelig.

Hvorfor vises ikke utdraget selv om jeg skrev det i redigeringsverktøyet?

Temaet kaller ikke the_excerpt() i den nødvendige malen. Sjekk malene archive.php, category.php, home.php og search.php. Hvis the_content() står der, ignoreres manuelle utdrag. Bytt ut med the_excerpt() eller bruk en betinget konstruksjon if (has_excerpt()) { the_excerpt(); } else { the_content(); }.

Kan jeg vise et utvalgt bilde ved siden av utdraget?

Ja, temaet bør kalle the_post_thumbnail() før the_excerpt() i loopen. De fleste moderne WordPress-temaer gjør dette som standard. Hvis ikke, legg til miniatyrbildekallet i malen før utdraget. For egendefinert markup, pakk begge kallene inn i <div class="post-card"> og stil via CSS.

Hvordan fjerner jeg utdrag bare fra forsiden, men beholder dem i arkiver?

Bruk den betingede taggen is_home() inne i filteret. For eksempel, i functions.php:

1 function disable_excerpt_on_home($excerpt) {
2 if (is_home()) {
3 return '';
4 }
5 return $excerpt;
6 }
7add_filter('get_the_excerpt', 'disable_excerpt_on_home');

For mer presise innstillinger per sidetype, kategori eller innleggstype, bruk Advanced Excerpt-utvidelsen fra tips 5: innstillingene har avkrysningsbokser for «Deaktiver på...» for forside, arkiver, søk og enkeltsider.

Hva du bør gjøre med utdrag akkurat nå

Implementeringsrekkefølge, fra enkelt til komplekst. Start med tips 1: én funksjon, ett tall, og utdragslengden på hele nettstedet er under kontroll. Legg så til «Les mer»-lenken (tips 3), dette er kritisk for klikkbarhet på forsiden og i RSS. Hvis du driver en blogg med seksjoner i ulike formater, vil tips 2 om lengde per kategori eliminere dissonans mellom nyheter og langlesing.

Ta i bruk Advanced Excerpt-utvidelsen (tips 5) hvis du vil unngå kode helt eller hvis temaet ditt bruker en ikke-standard måte å vise innhold på og excerpt_length-/excerpt_more-filtrene ikke utløses. I andre tilfeller er kode fra functions.php mer pålitelig: færre avhengigheter, skaper ingen belastning, fungerer med ethvert tema.

1