
🧩 WordPress child theme: en komplett guide til å lage og tilpasse
Du installerte et tema, finpusset nettstedet, justerte farger og fonter, la til et par egendefinerte maler. Så kommer en temaoppdatering og visker ut alt. Høres det kjent ut?
Et child theme i WordPress er mekanismen som skiller dine tilpasninger fra utviklerens kode. Du endrer hva du vil, og hovedtemaet oppdateres uten konsekvenser. Det høres ut som magi, men bak det ligger bare én linje i style.css.
I denne guiden, fra konsept til et fungerende child theme: hvorfor du trenger et, hvordan du oppretter det manuelt, hvordan du setter stiler og functions.php i kø, og hva du gjør hvis noe går galt. Uten fyll, med testede kodebiter.
💡 Rask oversikt:
- Opprett en child theme-mappe i
/wp-content/themes/, et hvilket som helst navn fungerer, for eksempelmytheme-child - Legg til
style.cssmed et temahode og enTemplate:-linje som peker til hovedtemaets mappe - Sett hovedstiler i kø via
functions.php, ved å bruke funksjonenwp_enqueue_style()på hookenwp_enqueue_scripts - Kopier en hvilken som helst malfil fra hovedtemaet inn i child theme-et og rediger den uten frykt for oppdateringer
- Alt annet (functions.php, egendefinerte felt, nye maler) kan utvides uten å røre hovedtemaet
Hva er et WordPress child theme
Et child theme er et WordPress-tema som arver all funksjonalitet, alle stiler og maler fra et annet tema. Det det arves fra, kalles hovedtemaet. Et child theme kan i seg selv bestå av bare én enkelt style.css-fil og likevel fungere fullt ut.

Arvemekanismen er enkel. Når WordPress laster en side, ser det først etter den nødvendige malfilen i child theme-et. Hvis den finnes, bruker det den filen. Hvis den ikke finnes, henter det filen fra hovedtemaet. Dette er grunnen til at du bare kan overstyre det du vil endre, og alt annet kommer automatisk fra hovedtemaet.
Nøkkelelementet som et child theme ikke kan eksistere uten, er Template:-linjen i style.css-hodet. Den peker til hovedtemaets mappenavn (for eksempel twentytwentyfour) og oppretter foreldre-barne-forholdet. Linjen må samsvare nøyaktig med hovedtemaets mappenavn, inkludert store og små bokstaver.
Hovedtemaet kan være ET HVERT installert WordPress-tema, fra standard Twenty Twenty-Five til et kommersielt tema som Total eller Kadence. Child theme-et «låner» filene og funksjonene, men kopierer dem ikke fysisk.
Hvorfor du trenger et child theme: 4 grunner
Du kunne hoppet over alt dette og redigert hovedtemaet direkte. Mange gjør det. Men her er hva som skjer videre.
Trygge oppdateringer
Hovedtemautvikleren slipper en oppdatering, og du installerer den. Hvis du redigerte hovedtemafilene direkte, blir alle endringer visket ut. Et child theme lagrer tilpasningene dine separat: oppdatering av hovedtemaet rører dem ikke. Du får både den ferske versjonen av temaet (med sikkerhetsrettinger) og dine bevarte tilpasninger.
Isolert eksperimentering
Vil du prøve en ny malstruktur eller et ukonvensjonelt CSS-hack? I et child theme kan du eksperimentere fritt. Hvis noe går galt, deaktiver child theme-et, så går nettstedet tilbake til hovedtemaet i sin opprinnelige tilstand.
Ren kodebase
Et child theme inneholder bare dine endringer. Et par maler, functions.php med hooks, style.css med overstyringer. Ingen blanding av original kode og dine redigeringer. Når du må fikse noe et halvt år senere, graver du ikke gjennom andres kode på jakt etter din egen.
Rask utviklingsstart
Et child theme er den perfekte sandkassen for å lære WordPress-temautvikling. Du skriver ikke et tema fra bunnen av (det tar hundrevis av timer), men gjør målrettede endringer i et allerede fungerende tema. Den offisielle WordPress child themes-dokumentasjonen anbefaler akkurat denne tilnærmingen for nybegynnere.
Hva er ulempene med child themes
Det finnes ulemper også. De er ikke kritiske, men å kjenne til dem på forhånd hjelper.
Grunnleggende kodekunnskap kreves
Å sette opp et child theme involverer HTML, CSS og noe PHP. Hvis du aldri har åpnet et koderedigeringsprogram, må du lære det grunnleggende. Den gode nyheten: for typiske oppgaver (sette stiler i kø, legge til en hook) er koden allerede skrevet; du bare kopierer den og setter inn dine egne verdier.
Migrering av tilpasser-innstillinger
Noen temaer knytter tilpasser-innstillinger (farger, fonter, layout) til det aktive temaets navn. Når du bytter til et child theme, «forsvinner» disse innstillingene. De er ikke tapt; de forblir i databasen, knyttet til hovedtemaets navn. Løsningen: før du aktiverer child theme-et, eksporter tilpasser-innstillingene (mange temaer, som Total, har et innebygd import-/eksportverktøy), eller overfør dem manuelt etter aktivering.
Avhengighet av hovedtemaet
Et child theme uten sitt hovedtema er bare en mappe med filer. Hvis du bestemmer deg for å bytte tema helt, må du opprette et nytt child theme fra bunnen av. Funksjoner innebygd i child theme-ets functions.php kan være knyttet til hooks som er spesifikke for et bestemt hovedtema, og må også tilpasses.
Hvordan opprette et child theme manuelt
Den mest direkte veien, uten plugins, bare med hendene. Du trenger tilgang til nettstedets filer (FTP, vertskapets filbehandler eller cPanel) og et tekstredigeringsprogram.
Trinn 1. Opprett child theme-mappen
Åpne WordPress-temakatalogen: /wp-content/themes/. Opprett en ny mappe. Ethvert navn fungerer, men konvensjonen er å legge til suffikset -child til hovedtemaets navn: for eksempel, for twentytwentyfive ville child-mappen være twentytwentyfive-child.
For arbeid med filer via FTP fungerer FileZilla bra. Gjennom vertskapet, bruk den innebygde filbehandleren i cPanel eller ditt vertskapskontrollpanel.
Trinn 2. Opprett style.css med temahodet
I child theme-mappen oppretter du en fil med navnet style.css. Dette er den eneste påkrevde filen. Lim inn temahodet:
1 /* 2 Theme Name: Twenty Twenty-Five Child 3 Theme URI: https://example.com/ 4 Description: Child theme for Twenty Twenty-Five 5 Author: Your Name 6 Template: twentytwentyfive 7 Version: 1.0.0 8 */
Template:-linjen er den som kobler child theme-et til hovedtemaet. Verdien må samsvare NØYAKTIG med hovedtemaets mappenavn. For Twenty Twenty-Five heter mappen twentytwentyfive, så det er nøyaktig det du skriver. En skrivefeil eller feil bokstavstørrelse betyr at temaet ikke vil bli gjenkjent som et child theme.
Trinn 3. Sett hovedtemaets stiler i kø
På dette tidspunktet fungerer child theme-et allerede; du kan aktivere det i Utseende → Temaer. Men nettstedet vil vises uten stiler fordi din style.css fortsatt er tom (bortsett fra hodet).
Opprett en fil med navnet functions.php i child theme-mappen og legg til koden for å sette hovedstiler i kø:
1 add_action( 'wp_enqueue_scripts', 'my_theme_enqueue_styles' ); 2 3 function my_theme_enqueue_styles() { 4 $theme = wp_get_theme( 'twentytwentyfive' ); 5 $version = $theme->get( 'Version' ); 6 7 wp_enqueue_style( 8 'parent-style', 9 get_template_directory_uri() . '/style.css', 10 array(), 11 $version 12 ); 13 }
Denne koden plukker dynamisk opp hovedtemaets versjon og legger den til som en parameter til stilsett-URL-en. Når temaet oppdateres, endres versjonen, nettleseren tømmer hurtigbufferen, og brukerne ser de gjeldende stilene uten CSS-problemer.
Erstatt
twentytwentyfivemed ditt hovedtemas navn. Brukwp_get_theme()i stedet for et hardkodet versjonsnummer; dette beskytter deg mot hurtigbufferproblemer ved oppdateringer.

Trinn 4. Aktiver child theme-et
I WordPress-admin: Utseende → Temaer → finn ditt nyopprettede child theme → Aktiver. Nettstedets utseende vil ikke endres; dette er normalt. Du er på child theme-et, og det fungerer.
Hvordan tilpasse et child theme
Temaet er aktivert; nå til tilpasning. Her er hva du kan og bør gjøre.
Legge til dine egne stiler
Skriv alle dine CSS-regler I style.css-filen til child theme-et, etter hodedelen. De vil automatisk overstyre hovedtemastiler med samme spesifisitet. Hvis du vil endre overskriftsfargen, skriv regelen i child style.css, så vil den gjelde.
Redigere malfiler
Vil du endre strukturen til single.php eller footer.php? Kopier den ønskede filen fra hovedtemaet inn i child theme-mappen, og bevar den samme undermappestrukturen (for eksempel /template-parts/). Rediger kopien i child theme-et; når WordPress laster, vil det bruke din versjon i stedet for hovedtemaets original.
Viktig detalj: du kan bare kopiere MALFILER (de som ligger i temaets rotmappe og template-parts/-mappen). Filer fra undermapper som inc/, functions/ og classes/ kopieres ikke på denne måten. For å endre logikk fra disse filene, bruk WordPress hooks og filtre.
Utvide via functions.php
Child theme-ets functions.php lastes FØR hovedtemaets. Dette betyr at du kan:
- Legge til nye funksjoner uten å røre hovedtemaets
functions.php; - Overstyre hovedtemafunksjoner bare hvis de er pakket inn i
if ( ! function_exists() ); - Legge til nye hooks og filtre for å endre oppførselen til hovedtemaet eller selve WordPress.
Eksempel: tillate SVG-opplastinger via child functions.php:
1 function my_child_allow_svg( $mimes ) { 2 $mimes['svg'] = 'image/svg+xml'; 3 return $mimes; 4 } 5 add_filter( 'upload_mimes', 'my_child_allow_svg' );
Aldri kopier HELE
functions.phpfra hovedtemaet inn i child theme-et. Dette vil forårsake en fatal feil på grunn av redeklarerte funksjoner. Childfunctions.phputvider hovedtemaets; den erstatter det ikke.
Legge til nye malfiler
Et child theme kan inneholde maler som ikke finnes i hovedtemaet. For eksempel kan du opprette template-full-width.php for sider uten sidestolpe, og WordPress vil oppdage den i child theme-et og tilby den som et alternativ når du redigerer en side.
Verktøy og tekstredigerere
Ethvert redigeringsprogram fungerer for child theme-kode, men syntaksutheving gjør ting enklere. Her er noen alternativer:
- VS Code: gratis, med utvidelser for PHP og WordPress;
- Notepad++: et lettvekts redigeringsprogram for Windows som håndterer CSS/PHP/JS;
- Sublime Text: rask og minimalistisk, betalt etter prøveperioden.
For tilgang til filer via FTP, bruk FileZilla FTP-klient. For vertskapsbrukere er den innebygde cPanel-filbehandleren fullt tilstrekkelig for å opprette et par filer.

Vanlige feil og hvordan fikse dem
Gjennom år med arbeid med child themes har vi samlet en liste over de hyppigste snublesteinene.
«Child theme-et blir ikke gjenkjent.» Nesten alltid er dette en feil i Template:-linjen. Sjekk at hovedtemaets mappenavn samsvarer tegn for tegn, inkludert store/små bokstaver og bindestreker. TwentyTwentyFive og twentytwentyfive er forskjellige navn.
«Nettstedet viser ren HTML uten stiler.» Child theme-et er aktivert, men stiler er ikke satt i kø. Legg til wp_enqueue_style() i child theme-ets functions.php (se Trinn 3).
«Fatal PHP-feil etter aktivering.» Mest sannsynlig kopierte du hovedtemaets functions.php inn i child, og nå er funksjoner deklarert to ganger. Fjern duplikatene fra child functions.php; behold bare DINE funksjoner.
«Tilpasser-innstillinger er borte.» De er knyttet til temanavnet. Bytt midlertidig tilbake til hovedtemaet, eksporter innstillingene (via en plugin eller temaets innebygde verktøy), aktiver deretter child og importer dem.
«Oppdatering av hovedtemaet ødela layouten.» Utvikleren endret HTML-strukturen til en mal du kopierte til child theme-et. Din kopi er nå inkompatibel med de nye stilene. Løsning: sammenlign den nye hovedmalen med din kopi og tilpass endringene.
Steg-for-steg-video (EN) om å opprette et child theme: fra å opprette mappen til endelig aktivering og stiloppsett. WPEstate-kanal, 2025, tydelig og uten fyll.
⁉️🤔 Ofte stilte spørsmål
Må jeg opprette et child theme for hvert WordPress-nettsted?
Nei. Hvis du ikke redigerer temafiler og ikke legger til egendefinert kode, trenger du ikke et child theme. Men hvis du noen gang har åpnet temaredigereren i admin, lagt til CSS i Tilleggs-CSS, og planlegger å endre maler, opprett et child theme. Det tar 10 minutter nå og sparer timer ved neste oppdatering.
Hva skjer hvis jeg sletter hovedtemaet, men beholder child theme-et?
Nettstedet vil krasje med en kritisk feil. Et child theme uten sitt hovedtema fungerer ikke; det inneholder ikke et fullstendig sett med filer og arver alt fra hovedtemaet. Før du sletter hovedtemaet, slett (eller deaktiver) først child theme-et og aktiver et annet tema.
Kan jeg opprette et «barnebarn»-tema, et barn av et barn?
Nei. WordPress støtter bare ett nivå av arv: hovedtema → child. For komplekse tilpasninger som ikke passer inn i ett enkelt child theme, er den riktige tilnærmingen å forke temaet og opprette et fullverdig hovedtema, eller flytte logikken inn i en separat plugin.
Fungerer et child theme med blokktemaer (FSE, Full Site Editing)?
Ja, men mekanismen er litt annerledes. I blokktemaer slås child theme-ets
theme.jsonsammen med hovedtemaets i stedet for å erstatte det. Maler og maldeler overstyres på samme måte: ved å opprette en fil med samme navn i child theme-et. Flere detaljer finnes i den offisielle Developer Resources-dokumentasjonen på wordpress.org.
Hvordan overfører jeg tilpasninger som allerede er gjort i hovedtemaet, til child theme-et?
Identifiser hva du endret: CSS, maler eller functions.php. Kopier CSS-regler til child
style.css. For endrede maler, kopier filene til child theme-et og behold redigeringene dine der. Overfør kode fra hovedtemaets functions.php selektivt: bare dine funksjoner, ikke hele filen. Etter overføringen, fjern redigeringene dine fra hovedtemaet; ellers vil de gå tapt ved neste oppdatering.
Bør du opprette et child theme akkurat nå
Hvis du har lest så langt, er svaret sannsynligvis ja. Et child theme kompliserer ikke nettstedet og senker ikke farten. Det skiller koden din fra temautviklerens kode. Det er som å kommentere kode: først virker det unødvendig, men en måned senere redder det deg.
For de som redigerer et tema for første gang: start med en sandkasse. En lokal server (LocalWP, XAMPP) eller et staging-nettsted på ditt webhotell. Opprett et child theme ved å følge trinnene ovenfor, legg til et par CSS-regler, kopier én mal. Når du ser at alt fungerer, gjenta på ditt live-nettsted.
Spørsmålet er ikke om du trenger et child theme. Spørsmålet er når du vil huske det: før temaoppdateringen eller etter at tilpasningene dine har forsvunnet.



