
🧩 WordPress barntema: en komplett guide till att skapa och anpassa
Du installerade ett tema, finslipade sajten, justerade färger och typsnitt, lade till ett par anpassade mallar. Sedan kommer en temauppdatering och raderar allt. Låter det bekant?
Ett barntema i WordPress är mekanismen som separerar dina anpassningar från utvecklarens kod. Du ändrar vad du vill, och huvudtemat uppdateras utan konsekvenser. Det låter som magi, men bakom det ligger bara en rad i style.css.
I den här guiden, från koncept till ett fungerande barntema: varför du behöver ett, hur du skapar det manuellt, hur du köar stilar och functions.php, och vad du gör om något går fel. Utan utfyllnad, med testade kodsnuttar.
💡 Snabb översikt:
- Skapa en barntemamapp i
/wp-content/themes/, vilket namn som helst fungerar, till exempelmytheme-child - Lägg till
style.cssmed ett temahuvud och enTemplate:-rad som pekar på huvudtemats mapp - Köa huvudtemats stilar via
functions.php, med funktionenwp_enqueue_style()på hookenwp_enqueue_scripts - Kopiera valfri mallfil från huvudtemat till barntemat och redigera den utan rädsla för uppdateringar
- Allt annat (functions.php, anpassade fält, nya mallar) kan utökas utan att röra huvudtemat
Vad är ett WordPress-barntema
Ett barntema är ett WordPress-tema som ärver all funktionalitet, alla stilar och mallar från ett annat tema. Det som det ärvs från kallas huvudtema. Ett barntema kan i sig bestå av bara en enda style.css-fil och ändå fungera fullt ut.

Arvsmekanismen är okomplicerad. När WordPress laddar en sida letar det först efter den nödvändiga mallfilen i barntemat. Om den hittas används den filen. Om den inte hittas tar WordPress filen från huvudtemat. Det är därför du bara kan åsidosätta det du vill ändra, och allt annat kommer automatiskt från huvudtemat.
Det avgörande elementet utan vilket ett barntema inte kan existera är raden Template: i style.css-huvudet. Den pekar på huvudtemats mappnamn (till exempel twentytwentyfour) och skapar relationen mellan huvud- och barntema. Raden måste matcha huvudtemats mappnamn exakt, inklusive versaler och gemener.
Huvudtemat kan vara VILKET installerat WordPress-tema som helst, från standardtemat Twenty Twenty-Five till ett kommersiellt tema som Total eller Kadence. Barntemat "lånar" dess filer och funktioner men kopierar dem inte fysiskt.
Varför du behöver ett barntema: 4 anledningar
Du skulle kunna hoppa över allt detta och redigera huvudtemat direkt. Många gör det. Men här är vad som händer sedan.
Säkra uppdateringar
Huvudtemats utvecklare släpper en uppdatering, och du installerar den. Om du redigerade huvudtemats filer direkt raderas alla ändringar. Ett barntema lagrar dina anpassningar separat: en uppdatering av huvudtemat rör dem inte. Du får både den nya versionen av temat (med säkerhetsfixar) och dina bevarade anpassningar.
Isolerad experimentering
Vill du prova en ny mallstruktur eller ett okonventionellt CSS-hack? I ett barntema kan du experimentera fritt. Om något går fel, avaktivera barntemat så återgår sajten till huvudtemat i sitt ursprungliga skick.
Ren kodbas
Ett barntema innehåller bara dina ändringar. Ett par mallar, functions.php med hookar, style.css med åsidosättningar. Ingen blandning av originalkod och dina redigeringar. När du behöver fixa något sex månader senare slipper du gräva i någon annans kod för att hitta din egen.
Snabb utvecklingsstart
Ett barntema är den perfekta sandlådan för att lära sig WordPress-temautveckling. Du skriver inte ett tema från grunden (det tar hundratals timmar) utan gör riktade ändringar i ett redan fungerande tema. Den officiella dokumentationen för WordPress-barnteman rekommenderar just detta tillvägagångssätt för nybörjarutvecklare.
Vilka är nackdelarna med barnteman
Det finns nackdelar också. De är inte kritiska, men att känna till dem i förväg hjälper.
Grundläggande kodkunskaper krävs
Att sätta upp ett barntema involverar HTML, CSS och en del PHP. Om du aldrig har öppnat en kodredigerare behöver du lära dig grunderna. Den goda nyheten: för typiska uppgifter (köa stilar, lägga till en hook) är koden redan skriven; du kopierar den bara och ersätter med dina egna värden.
Migrering av anpassningsinställningar
Vissa teman knyter anpassningsinställningar (färger, typsnitt, layout) till det aktiva temats namn. När du byter till ett barntema "försvinner" dessa inställningar. De är inte förlorade; de finns kvar i databasen, knutna till huvudtemats namn. Lösningen: innan du aktiverar barntemat, exportera anpassningsinställningarna (många teman, som Total, har ett inbyggt import-/exportverktyg), eller överför dem manuellt efter aktivering.
Beroende av huvudtemat
Ett barntema utan sitt huvudtema är bara en mapp med filer. Om du bestämmer dig för att byta tema helt måste du skapa ett nytt barntema från grunden. Funktioner inbäddade i barntemats functions.php kan vara knutna till hookar specifika för ett visst huvudtema och kommer också att behöva anpassas.
Hur man skapar ett barntema manuellt
Den mest direkta vägen, utan tillägg, med bara dina händer. Du behöver tillgång till din sajts filer (FTP, din webbhotells filhanterare eller cPanel) och en textredigerare.
Steg 1. Skapa barntemamappen
Öppna WordPress temakatalog: /wp-content/themes/. Skapa en ny mapp. Vilket namn som helst fungerar, men konventionen är att lägga till suffixet -child till huvudtemats namn: till exempel, för twentytwentyfive skulle barntemamappen heta twentytwentyfive-child.
För att arbeta med filer via FTP fungerar FileZilla bra. Via webbhotellet använder du den inbyggda filhanteraren i cPanel eller din webbhotellspanel.
Steg 2. Skapa style.css med temahuvudet
I barntemamappen skapar du en fil med namnet style.css. Detta är den enda obligatoriska filen. Klistra in temahuvudet:
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 */
Raden Template: är den som länkar barntemat till huvudtemat. Värdet måste matcha huvudtemats mappnamn EXAKT. För Twenty Twenty-Five heter mappen twentytwentyfive, så det är exakt vad du skriver. En felskrivning eller fel versal/gemen innebär att temat inte kommer att kännas igen som ett barntema.
Steg 3. Köa huvudtemats stilar
Vid det här laget fungerar barntemat redan; du kan aktivera det under Utseende → Teman. Men sajten kommer att visas utan stilar eftersom din style.css fortfarande är tom (förutom huvudet).
Skapa en fil med namnet functions.php i barntemamappen och lägg till koden för att köa huvudtemats stilar:
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 }
Denna kod plockar dynamiskt upp huvudtemats version och lägger till den som en parameter till stilmallens URL. När temat uppdateras ändras versionen, webbläsaren rensar sin cache och användarna ser de aktuella stilarna utan CSS-problem.
Ersätt
twentytwentyfivemed ditt huvudtemas namn. Användwp_get_theme()istället för ett hårdkodat versionsnummer; detta skyddar dig mot cacheproblem vid uppdateringar.

Steg 4. Aktivera barntemat
I WordPress admin: Utseende → Teman → hitta ditt nyskapade barntema → Aktivera. Sajtens utseende kommer inte att förändras; detta är normalt. Du är på barntemat, och det fungerar.
Hur man anpassar ett barntema
Temat är aktiverat; nu till anpassning. Här är vad du kan och bör göra.
Lägga till dina egna stilar
Skriv alla dina CSS-regler I style.css-filen i barntemat, efter huvudsektionen. De kommer automatiskt att åsidosätta huvudtemats stilar med samma specificitet. Om du vill ändra rubrikfärgen, skriv regeln i barntemats style.css, så kommer den att tillämpas.
Redigera mallfiler
Vill du ändra strukturen på single.php eller footer.php? Kopiera den önskade filen från huvudtemat till barntemamappen, och bevara samma undermappstruktur (till exempel /template-parts/). Redigera kopian i barntemat; när WordPress laddar kommer det att använda din version istället för huvudtemats original.
Viktig detalj: du kan bara kopiera MALLFILER (de som finns i temats rotmapp och mappen template-parts/). Filer från undermappar som inc/, functions/ och classes/ kopieras inte på detta sätt. För att modifiera logik från dessa filer, använd WordPress hookar och filter.
Utöka via functions.php
Barntemats functions.php laddas FÖRE huvudtemats. Detta innebär att du kan:
- Lägga till nya funktioner utan att röra huvudtemats
functions.php; - Åsidosätta huvudtemats funktioner endast om de är omslutna av
if ( ! function_exists() ); - Lägga till nya hookar och filter för att ändra beteendet hos huvudtemat eller WordPress självt.
Exempel: tillåta SVG-uppladdningar via barntemats 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' );
Kopiera aldrig HELA
functions.phpfrån huvudtemat till barntemat. Detta kommer att orsaka ett fatalt fel på grund av omdeklarerade funktioner. Barntematsfunctions.phputökar huvudtemats; det ersätter det inte.
Lägga till nya mallfiler
Ett barntema kan innehålla mallar som inte finns i huvudtemat. Du kan till exempel skapa template-full-width.php för sidor utan sidofält, och WordPress kommer att upptäcka den i barntemat och erbjuda den som ett alternativ när du redigerar en sida.
Verktyg och textredigerare
Vilken redigerare som helst fungerar för barntemakod, men syntaxmarkering underlättar. Här är några alternativ:
- VS Code: gratis, med tillägg för PHP och WordPress;
- Notepad++: en lättviktsredigerare för Windows som hanterar CSS/PHP/JS;
- Sublime Text: snabb och minimalistisk, betald efter testperioden.
För åtkomst till filer via FTP, använd FileZilla FTP-klient. För webbhotellsanvändare är den inbyggda filhanteraren i cPanel fullt tillräcklig för att skapa ett par filer.

Vanliga misstag och hur man åtgärdar dem
Under år av arbete med barnteman har vi sammanställt en lista över de vanligaste stötestenarna.
"Barntemat känns inte igen." Nästan alltid är detta ett fel på raden Template:. Kontrollera att huvudtemats mappnamn matchar tecken för tecken, inklusive versaler/gemener och bindestreck. TwentyTwentyFive och twentytwentyfive är olika namn.
"Sajten visar ren HTML utan stilar." Barntemat är aktiverat men stilar är inte köade. Lägg till wp_enqueue_style() i barntemats functions.php (se Steg 3).
"Fatalt PHP-fel efter aktivering." Troligtvis kopierade du huvudtemats functions.php till barntemat och nu deklareras funktioner två gånger. Ta bort dubbletterna från barntemats functions.php; behåll bara DINA funktioner.
"Anpassningsinställningarna är borta." De är knutna till temats namn. Byt tillfälligt tillbaka till huvudtemat, exportera inställningarna (via ett tillägg eller temats inbyggda verktyg), aktivera sedan barntemat och importera dem.
"Uppdatering av huvudtemat förstörde layouten." Utvecklaren ändrade HTML-strukturen i en mall du kopierade till barntemat. Din kopia är nu inkompatibel med de nya stilarna. Lösning: jämför den nya huvudmallen med din kopia och anpassa ändringarna.
Steg-för-steg-video (EN) om att skapa ett barntema: från att skapa mappen till slutlig aktivering och stilinställning. WPEstate-kanalen, 2025, tydlig och utan utfyllnad.
⁉️🤔 Vanliga frågor
Måste jag skapa ett barntema för varje WordPress-sajt?
Nej. Om du inte redigerar temafiler och inte lägger till anpassad kod behöver du inget barntema. Men om du någonsin har öppnat temaredigeraren i admin, lagt till CSS under Ytterligare CSS, och planerar att modifiera mallar, skapa ett barntema. Det tar 10 minuter nu och sparar timmar vid nästa uppdatering.
Vad händer om jag tar bort huvudtemat men behåller barntemat?
Sajten kommer att krascha med ett kritiskt fel. Ett barntema utan sitt huvudtema fungerar inte; det innehåller inte en fullständig uppsättning filer och ärver allt från huvudtemat. Innan du tar bort huvudtemat, ta först bort (eller avaktivera) barntemat och aktivera ett annat tema.
Kan jag skapa ett "barnbarnstema", ett barn till ett barn?
Nej. WordPress stöder bara en nivå av arv: huvudtema → barntema. För komplexa anpassningar som inte ryms i ett enda barntema är det korrekta tillvägagångssättet att förgrena temat och skapa ett fullständigt huvudtema, eller att flytta logiken till ett separat tillägg.
Fungerar ett barntema med blockteman (FSE, Full Site Editing)?
Ja, men mekanismen skiljer sig något. I blockteman slås barntemats
theme.jsonsamman med huvudtemats snarare än att ersätta det. Mallar och malldelar åsidosätts på samma sätt: genom att skapa en fil med samma namn i barntemat. Mer information finns i den officiella dokumentationen för utvecklarresurser på wordpress.org.
Hur överför jag anpassningar som redan gjorts i huvudtemat till barntemat?
Identifiera vad du ändrade: CSS, mallar eller functions.php. Kopiera CSS-regler till barntemats
style.css. För modifierade mallar, kopiera filerna till barntemat och behåll dina redigeringar där. Överför kod från huvudtemats functions.php selektivt: endast dina funktioner, inte hela filen. Efter överföringen, ta bort dina redigeringar från huvudtemat; annars kommer de att gå förlorade vid nästa uppdatering.
Bör du skapa ett barntema just nu
Om du har läst så här långt är svaret förmodligen ja. Ett barntema komplicerar inte sajten och saktar inte ner den. Det separerar din kod från temautvecklarens kod. Det är som att kommentera kod: först verkar det onödigt, men en månad senare räddar det dig.
För dig som redigerar ett tema för första gången: börja med en sandlåda. En lokal server (LocalWP, XAMPP) eller en staging-sajt på ditt webbhotell. Skapa ett barntema enligt stegen ovan, lägg till ett par CSS-regler, kopiera en mall. När du ser att allt fungerar, upprepa på din live-sajt.
Frågan är inte om du behöver ett barntema. Frågan är när du kommer ihåg det: före temauppdateringen eller efter att dina anpassningar har försvunnit.



