Custom fields – på norsk tilpassede felter – er WordPress sin innebygde måte å lagre ekstra informasjon om et innlegg eller en side på, i tillegg til selve tittelen og teksten. Teknisk kalles dette post meta (metadata knyttet til et innlegg). Et tilpasset felt består alltid av et navn (nøkkelen, for eksempel pris) og en verdi (for eksempel 499). Denne guiden forklarer hva tilpassede felter er, hvordan du aktiverer og legger dem til, hvordan du viser dem med kode eller helt uten kode via Block Bindings, hvilke plugins som finnes i 2026 – og de vanligste feilene du bør unngå.
Viktige punkter
- Hva: Tilpassede felter (custom fields) lagrer ekstra data på et innlegg som nøkkel og verdi – teknisk kalt post meta.
- Aktivering: Boksen er skjult som standard i blokkredigereren siden WordPress 5.0; slå den på under Innstillinger → Paneler → Tilpassede felter.
- Vise i tema: Bruk
get_post_meta( get_the_ID(), 'nokkel', true )og rens alltid verdien medesc_html()elleresc_url(). - Uten kode: Block Bindings API (WordPress 6.5, mars 2024) kobler en blokk direkte til en meta-nøkkel – forutsatt
show_in_rest. - Plugins: Secure Custom Fields (gratis), Advanced Custom Fields / ACF PRO (fra 49 USD/år), Meta Box og Pods gir avanserte felttyper.
- Merk: Nøkler som begynner med understrek er beskyttede og vises verken i boksen eller via Block Bindings.
Hva er custom fields (tilpassede felter) i WordPress?
Custom fields lar deg knytte egne data til et innlegg uten å blande dem inn i brødteksten. Der tittelen og innholdet er faste felter som alle innlegg har, er tilpassede felter helt frie: du bestemmer selv nøkkelen og verdien. Et innlegg kan ha så mange felter du vil, og hver nøkkel kan til og med ha flere verdier.
Typiske bruksområder er informasjon som hører til innlegget, men som ikke passer i selve teksten: en pris, en forfatters vurdering (for eksempel «4 av 5»), lesetid, en URL til et utvalgt bilde, geografiske koordinater, en ISBN eller et produktnummer. Temaet (eller en plugin) henter så verdien og viser den akkurat der du vil ha den – over tittelen, i en infoboks, eller i en oversikt over flere innlegg.
Teknisk lagres hver verdi i databasetabellen wp_postmeta, koblet til innleggets ID. Det er derfor funksjonene som henter dem heter ting som get_post_meta(). Du trenger ikke forstå databasen for å bruke feltene, men det hjelper å vite at hvert felt er en enkel nøkkel/verdi-rad bak kulissene.
Slik aktiverer du Custom Fields-boksen i WordPress
Custom Fields-boksen er skjult som standard i blokkredigereren (Gutenberg), og har vært det siden WordPress 5.0. Funksjonen er fortsatt fullt støttet – den er bare slått av for å holde skjermen ryddig. Slik slår du den på:
- Åpne et innlegg eller en side i redigereren.
- Klikk på de tre prikkene (menyen Øverst til høyre).
- Velg Innstillinger (kan også hete Preferences eller Options avhengig av språk og versjon).
- Gå til seksjonen Paneler (Panels) og slå på bryteren Tilpassede felter (Custom fields).
- Redigereren laster på nytt, og boksen dukker opp nederst under innholdet.
Bruker du fortsatt den klassiske redigereren, finner du boksen under skjermvalgene («Vis på skjermen» / Screen Options) øverst på redigeringssiden. Da huker du bare av for Egendefinerte felt.
Slik legger du til et tilpasset felt manuelt
Når boksen er synlig, legger du til et felt slik:
- I Custom Fields-boksen velger du Legg til nytt egendefinert felt.
- Skriv et navn (nøkkel) i venstre felt, for eksempel
din_tekst. Bruk små bokstaver og understrek, uten mellomrom eller æ/ø/å. - Skriv verdien i høyre felt, for eksempel teksten du vil vise.
- Klikk Legg til egendefinert felt og deretter Oppdater for å lagre innlegget.
Neste gang du oppretter et innlegg, kan du velge den samme nøkkelen fra nedtrekksmenyen i stedet for å skrive den på nytt. På den måten gjenbruker du de samme feltene på tvers av hele nettstedet.
Slik viser du tilpassede felter i temaet med kode
Et felt du har lagt til, vises ikke automatisk på nettsiden – du må be temaet hente det fram. Dette gjøres med funksjonen get_post_meta(). Rediger alltid temaet via et child theme (undertema) slik at endringene ikke forsvinner ved neste oppdatering, og ta en sikkerhetskopi først – se guiden om å ta backup av innholdet ditt i WordPress. Kodebitene nedenfor hører hjemme i malfiler som single.php, page.php eller loopen i index.php.
Grunnleggende kode
Den enkleste måten å hente og skrive ut et felt på:
<?php echo esc_html( get_post_meta( get_the_ID(), 'din_tekst', true ) ); ?>Den tredje parameteren (true) betyr at du vil ha én enkelt verdi tilbake i stedet for en liste. get_the_ID() henter ID-en til innlegget du er inne i. Vi pakker verdien inn i esc_html() for å rense teksten før den skrives ut – mer om hvorfor i sikkerhetsavsnittet lenger ned.
Vis feltet bare hvis det har innhold
Ofte vil du bare vise noe dersom feltet faktisk er fylt ut. Da sjekker du verdien først:
<?php
$din_tekst = get_post_meta( get_the_ID(), 'din_tekst', true );
if ( $din_tekst ) {
echo '<p>' . esc_html( $din_tekst ) . '</p>';
} else {
echo '<p>Ingen tekst i feltet</p>';
}
?>Her vises teksten bare når din_tekst har en verdi. Er feltet tomt, skrives «Ingen tekst i feltet» ut i stedet. Du kan selvsagt la else-delen være tom hvis du ikke vil vise noe når feltet mangler.
Betinget visning av et bilde
Et vanlig bruksområde er å lagre en bilde-URL i et felt og bare vise bildet når URL-en finnes:
<?php
$bilde = get_post_meta( get_the_ID(), 'bilde_url', true );
if ( $bilde ) {
echo '<img src="' . esc_url( $bilde ) . '" width="400" height="200" alt="">';
} else {
echo 'Det er ikke noe bilde i denne artikkelen';
}
?>Legg merke til esc_url(): den sikrer at bare en gyldig, trygg URL slipper gjennom. For øvrig har WordPress et eget innebygd «utvalgt bilde»-felt (featured image) som håndterer selve bildehåndteringen for deg – tilpassede felter til bilder passer best når du trenger noe det innebygde feltet ikke dekker.
get_the_ID() kontra $post->ID
Eldre veiledninger bruker ofte $post->ID direkte. Det fungerer fortsatt inne i loopen, men get_the_ID() er tryggere fordi den ikke er avhengig av at den globale $post-variabelen er satt. Trenger du ID-en utenfor loopen – for eksempel øverst i en malfil – er get_queried_object_id() det riktige valget. Velg funksjonen etter hvor i malen du befinner deg.
Block Bindings: vis tilpassede felter uten PHP
Siden WordPress 6.5 (mars 2024) finnes Block Bindings API, som lar deg koble en blokk direkte til et tilpasset felt – helt uten å skrive PHP i temaet. Du binder for eksempel et avsnitt eller en overskrift til en meta-nøkkel, og blokken viser automatisk verdien fra feltet. I nyere versjoner finnes det også et grensesnitt for dette i redigereren, men du kan alltid legge inn bindingen manuelt i blokk-markupen:
<!-- wp:paragraph {"metadata":{"bindings":{"content":{"source":"core/post-meta","args":{"key":"din_tekst"}}}}} -->For at dette skal virke, må meta-nøkkelen være registrert med show_in_rest slått på. Det gjør du i temaet eller en plugin:
<?php
register_post_meta( 'post', 'din_tekst', array(
'show_in_rest' => true,
'single' => true,
'type' => 'string',
) );
?>Block Bindings støttet opprinnelig bare noen få blokker (blant annet avsnitt, overskrift, bilde og knapp), og støtten utvides for hver versjon. For moderne blokktemaer er dette den ryddigste måten å vise meta på, fordi du slipper å redigere malfiler. Skal du bygge et helt tema fra bunnen, kan du ha nytte av tipsene i artikkelen om WordPress-design for norske bloggere.
Beskyttede felter og synlighet
Nøkler som begynner med understrek – for eksempel _min_nokkel – regnes som beskyttede (private) felter. De vises ikke i Custom Fields-boksen, og de kan ikke nås via Block Bindings. Dette er med vilje: plugins bruker understrek-prefikset for å skjule interne data (som ACF selv gjør) slik at brukere ikke endrer dem ved et uhell. Vil du at feltet skal være synlig og redigerbart, skal nøkkelen ikke begynne med understrek.
Et annet poeng: samme nøkkel kan ha flere verdier. Henter du uten true som tredje parameter, får du tilbake en liste (array) med alle verdiene i stedet for én. Det er nyttig når et innlegg for eksempel har flere «ingredienser» eller «stikkord» lagret under samme nøkkel.
Plugins for tilpassede felter
De innebygde feltene er enkle tekstfelter. Trenger du avanserte felttyper – datovelger, bildeopplasting, avkrysningsbokser, repeterbare grupper – bruker de fleste en plugin. Her er de mest brukte i 2026:
Secure Custom Fields (SCF)
Secure Custom Fields er en gratis plugin som ligger i det offisielle WordPress-katalogen. Den oppsto 12. oktober 2024, da WordPress.org forgrenet («forket») den opprinnelige gratisversjonen av Advanced Custom Fields og publiserte den under det nye navnet Secure Custom Fields. Bakgrunnen var den pågående konflikten mellom Automattic og WP Engine, og grepet var omstridt. For deg som bruker betyr det at gratisversjonen i katalogen nå heter SCF, mens ACF fortsatt finnes som eget produkt.
Advanced Custom Fields (ACF)
Advanced Custom Fields er den mest kjente løsningen og eies av WP Engine. Gratisversjonen leveres nå direkte fra ACF sine egne servere, mens betalversjonen ACF PRO låser opp avanserte felttyper som repeater, fleksibelt innhold og galleri. ACF PRO prises per år og per antall nettsteder: Personal 49 USD (1 nettsted), Freelancer 149 USD (10 nettsteder) og Agency 249 USD (ubegrenset). Prisene gjelder årlig abonnement og inkluderer ett år med oppdateringer og støtte.
Meta Box og Pods
Meta Box og Pods er to andre populære alternativer. Meta Box har en fleksibel gratis kjerne med betalte utvidelser, mens Pods er helt gratis og åpen kildekode og kan lage både egendefinerte felter og egne innholdstyper. Hvilken du bør velge avhenger av behov og budsjett – se oversikten under. Du finner flere nyttige utvidelser i oversikten over populære WordPress-plugins.
Sammenligning
| Løsning | Pris | Felttyper | Passer for |
|---|---|---|---|
| Innebygde felter (post meta) | Gratis | Kun enkel tekst | Utviklere som skriver litt kode selv |
| Secure Custom Fields (SCF) | Gratis | Mange avanserte felttyper | De som vil ha ACF-opplevelsen gratis fra WordPress-katalogen |
| Advanced Custom Fields (ACF) | Gratis / PRO fra 49 USD/år | Avanserte felter; repeater og fleksibelt innhold i PRO | Profesjonelle sider og byråer |
| Meta Box | Gratis kjerne + betalte utvidelser | Over 40 felttyper via utvidelser | Utviklere som vil bygge modulært |
| Pods | Gratis (åpen kildekode) | Felter + egne innholdstyper | De som vil ha alt gratis og ha egne innholdstyper |
Vanlige feil med tilpassede felter
Selv en enkel funksjon som denne har noen feller som går igjen:
- Feltet vises ikke: Den vanligste årsaken er at nøkkelen er feilstavet, eller at det er forskjell på store og små bokstaver.
get_post_meta()skiller mellomPrisogpris. Kopier nøkkelen nøyaktig. - Du redigerte temaet direkte: Legger du kode rett inn i et tema du ikke eier, forsvinner den ved neste oppdatering. Bruk alltid et child theme.
- Du glemte å skru på boksen: I blokkredigereren er Custom Fields-boksen skjult som standard – mange tror feltet er borte når det bare er panelet som er slått av.
- Du brukte understrek i nøkkelen uten å ville det: Et navn som
_prisblir automatisk skjult. Dropp understreken hvis feltet skal være synlig. - Block Bindings virker ikke: Nesten alltid fordi nøkkelen ikke er registrert med
show_in_rest, eller fordi den begynner med understrek. - Ingen rensing av verdien: Å skrive ut en meta-verdi uten
esc_html()elleresc_url()er en sikkerhetsrisiko, se neste avsnitt.
Sikkerhet og personvern
Tilpassede felter er bare data – de blir først farlige når de vises uten rensing. Regelen er enkel: rens ved utskrift. Tekst pakkes i esc_html(), URL-er i esc_url(), og verdier som skal inn i et HTML-attributt i esc_attr(). Uten dette kan en verdi som inneholder skadelig kode (et XSS-angrep) kjøre i leserens nettleser.
Vær også bevisst på hvem som kan redigere felter: brukere med tilgang til innleggsredigeringen kan endre verdiene, og beskyttede (understrek-)felter skjuler sensitive data fra visningen. Legg aldri personopplysninger eller hemmeligheter i vanlige, synlige felter. Generell herding av nettstedet beskriver vi i guiden om hva du bør gjøre for å beskytte WordPress-siden din mot angrep.
Hvem passer tilpassede felter for?
Tilpassede felter passer for alle som trenger å vise strukturert informasjon som ikke hører hjemme i brødteksten. Driver du en nettbutikk, en eiendomsside, en oppskriftsblogg eller en anmeldelsesside, er felter som pris, areal, koketid eller karakter perfekte eksempler. Er du komfortabel med litt kode, holder det lenge med de innebygde feltene og get_post_meta(). Vil du ha klikkbare grensesnitt og avanserte felttyper – eller lage dem for en kunde som ikke skal røre kode – er SCF eller ACF veien å gå. For enkle tekstverdier i et moderne blokktema er Block Bindings den enkleste løsningen. Trenger du inspirasjon til å sentrere og style innholdet du viser, kan du lese om hvordan du sentrerer skrift og innhold med HTML og CSS.
Kilder
Vanlige spørsmål (FAQ)
Hva er forskjellen på custom fields og tilpassede felter?
Ingen – det er samme ting. «Custom fields» er det engelske navnet, og «tilpassede felter» (også kalt egendefinerte felter) er den norske oversettelsen. Teknisk heter funksjonen post meta i WordPress.
Hvorfor ser jeg ikke Custom Fields-boksen i redigereren?
Fordi den er skjult som standard i blokkredigereren siden WordPress 5.0. Du slår den på via de tre prikkene øverst til høyre, deretter Innstillinger (Preferences) og bryteren Tilpassede felter under Paneler.
Trenger jeg en plugin for å bruke tilpassede felter?
Nei. WordPress har innebygd støtte for enkle tekstfelter. En plugin som Secure Custom Fields eller ACF trengs først når du vil ha avanserte felttyper som datovelgere, bildeopplasting eller repeterbare grupper.
Kan jeg vise et tilpasset felt uten å skrive kode?
Ja. Siden WordPress 6.5 kan du bruke Block Bindings API til å koble en blokk direkte til en meta-nøkkel, så lenge nøkkelen er registrert med show_in_rest. Plugins som ACF har i tillegg egne, kodefrie måter å vise felter på.
Hva skjedde med Advanced Custom Fields i 2024?
12. oktober 2024 forgrenet WordPress.org gratisversjonen av ACF og publiserte den i katalogen under navnet Secure Custom Fields (SCF). ACF finnes fortsatt som eget produkt fra WP Engine, inkludert betalversjonen ACF PRO, og leverer nå oppdateringer fra sine egne servere.