Gå til innholdet

Cookie-innstillinger

Velg hvilke typer cookies du tillater. Du kan når som helst endre valget via Cookie-innstillinger nederst på hver side. Personvernerklæring

Nødvendige

Alltid på

Trengs for å logge inn, beholde handlekurven og huske valgene dine. Disse er alltid på.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: økten din og at du forblir innlogget
  • weboke_basket: handlekurven din
  • wkBtwIncl: visning av priser med eller uten mva.
  • wok_cookies: cookievalget ditt, 12 måneder

Måler hvilken annonse som fører til et besøk eller en bestilling, slik at vi ikke betaler for annonser som ikke gir noe.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), opptil 90 dager
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: hvilken partner som henviste deg til oss (partnerprogram), 60 dager

4,6

Land og språk

Hvert land har sin egen nettside, med priser og mva. for det landet.

Vis

Lage et undertema (child theme)

Modul 5: Temaer og utvidelser · Lesetid: 9 minutter

Læringsmål: Etter denne leksjonen kan du lage et undertema (child theme), og du vet når du trenger ett og når ikke.

Nøkkelbegreper: undertema (child theme), foreldretema, Template: i style.css, functions.php, wp_enqueue_style, overskrive mal, theme.json i et undertema, Create Block Theme

Problemet et undertema løser

Si at du vil ha toppen av det klassiske temaet ditt litt annerledes, og du tilpasser header.php i temamappen for det. Det fungerer. Tre uker senere kommer det en oppdatering av temaet, som du lar installere automatisk (slik det bør, leksjon 7.2). Oppdateringen erstatter alle filene i temaet, og tilpasningen din er borte.

Et undertema (child theme) er et lite tema som sier: «bruk alt fra det andre temaet (foreldretemaet), bortsett fra det jeg selv har.» Du legger tilpasningene dine i undertemaet. Foreldretemaet fortsetter du bare å oppdatere, og tilpasningene dine blir stående.

Når trenger du det, og når ikke

Du trenger et undertema hvis du vil tilpasse eller supplere filer i et tema:

  • du vil ha en mal annerledes (hos et klassisk tema en PHP-fil, hos et blokktema en HTML-mal);
  • du vil ha egen CSS som er for stor for CSS-boksen;
  • du vil ha egen PHP-kode som hører til utformingen (et ekstra bildeformat, en ekstra menyplassering).

Du trenger ikke et undertema hvis:

  • du tilpasser et blokktema i Nettstedsredigereren: de tilpasningene ligger i databasen og overlever en oppdatering (leksjon 5.1);
  • du bare legger til litt CSS via Ekstra CSS (i Tematilpasseren hos et klassisk tema, eller under Stiler i Nettstedsredigereren);
  • du vil legge til en funksjon som ikke har noe med utformingen å gjøre (et skjema, en kobling). Den hører hjemme i en utvidelse (plugin), slik at den overlever et temabytte.

Et undertema for et klassisk tema

Et undertema er en mappe i wp-content/themes/ med minst én fil: style.css. Si at foreldretemaet ditt ligger i wp-content/themes/hoofdthema/. Lag da en mappe wp-content/themes/hoofdthema-child/ med denne style.css:

/*
Theme Name:   Hoofdthema Child
Template:     hoofdthema
Description:  Egne tilpasninger for example.com
Version:      1.0.0
Text Domain:  hoofdthema-child
*/

/* Din egen CSS kommer nedenfor. */
.site-header { border-bottom: 3px solid #e8a33d; }

Den viktigste linjen er Template:. Der skal det stå navnet på mappen til foreldretemaet (ikke navnet du ser i administrasjonen). Stemmer det ikke nøyaktig (store bokstaver, bindestreker), melder WordPress under Utseende > Temaer at foreldretemaet mangler.

I tillegg lager du en functions.php for å laste stilarkene. Den ryddige måten:

<?php
add_action( 'wp_enqueue_scripts', function () {
    wp_enqueue_style(
        'hoofdthema-child',
        get_stylesheet_uri(),
        array(),
        wp_get_theme()->get( 'Version' )
    );
} );

Om foreldretemaet laster sitt eget stilark selv, varierer fra tema til tema. Se i dokumentasjonen til foreldretemaet ditt; noen ber deg også laste stilarket til foreldretemaet i undertemaet med get_template_directory_uri() . '/style.css'. Fungerer nettstedet ditt uten formatering etter aktivering, blir ikke stilarket til foreldretemaet lastet.

Vil du tilpasse en mal, kopier da den ene filen (for eksempel header.php) fra foreldretemaet til undertemaet ditt og tilpass kopien. WordPress ser først i undertemaet, deretter i foreldretemaet. Ikke kopier alle filene: da får du ikke lenger forbedringene fra foreldretemaet.

functions.php i undertemaet erstatter ikke den i foreldretemaet, men lastes før den. Begge kjøres.

Et undertema for et blokktema

Hos et blokktema fungerer det på samme måte, med blokkfiler:

  • style.css med samme topptekst og Template:;
  • theme.json: den slås sammen med den fra foreldretemaet, så du setter bare inn det du vil endre (for eksempel fargepaletten);
  • templates/ og parts/ som erstatter dem fra foreldretemaet.

En functions.php er hos et blokktema ofte ikke nødvendig, fordi WordPress laster stilene fra theme.json selv.

Det finnes en offisiell utvidelse, Create Block Theme, som lager et undertema for deg ut fra Nettstedsredigereren, inkludert tilpasningene dine i databasen. Praktisk hvis du har tilpasset et blokktema og vil forankre de tilpasningene i filer (for eksempel for å ta dem med til et annet nettsted).

Slik setter du det opp på nettstedet ditt

  1. Lag mappen og filene på din egen datamaskin og kontroller mappen til foreldretemaet.
  2. Last opp mappen til wp-content/themes/ med File Manager eller via SFTP. Eller pakk mappen som en zip-fil og last den opp under Utseende > Temaer > Legg til > Last opp tema.
  3. Gå til Utseende > Temaer. Undertemaet ditt står der. Aktiver det.
  4. Kontroller nettstedet ditt: menyer og widgeter kan trenge å kobles på nytt når du bytter til et undertema; innstillinger fra Tematilpasseren gjelder per tema, så dem setter du opp på nytt eller eksporterer med en utvidelse.
  5. Foreldretemaet må bli stående. Ikke slett det; undertemaet fungerer ikke uten.

Gjør dette helst først i et testmiljø (staging) (leksjon 8.3), for å bytte tema på et travelt livenettsted kan bli litt rotete en stund.

Oppsummering

  • Et undertema bevarer tilpasningene dine i temafiler utenfor foreldretemaet, slik at oppdateringer ikke overskriver dem.
  • Du trenger det ikke for tilpasninger i Nettstedsredigereren eller litt Ekstra CSS; funksjoner hører hjemme i en utvidelse.
  • Minimum: en mappe med style.css der Template: nøyaktig angir mappen til foreldretemaet.
  • Kopier bare de malene du faktisk tilpasser; functions.php i undertemaet kommer ved siden av den i foreldretemaet.
  • Foreldretemaet blir stående og fortsetter å bli oppdatert.

Quiz

1. Hva skal stå ved Template: i style.css til et undertema?



2. Du bruker et blokktema og har tilpasset toppen og fargene i Nettstedsredigereren. Trenger du et undertema for at tilpasningene skal overleve en oppdatering?



3. Du vil legge til en kobling til regnskapsprogrammet ditt. Hvor hører den koden hjemme?



4. Du har kopiert alle filene fra foreldretemaet til undertemaet ditt «for sikkerhets skyld». Hva er ulempen?



Oppgave

Oppgave A5.2: Kontroller undertemaet ditt (child theme). Lag et undertema for temaet ditt, på testnettstedet ditt eller i testmiljø (staging) (leksjon 8.3), og aktiver det. Fyll inn adressen til nettstedet og mappenavnet til undertemaet. Programmet henter wp-content/themes/<mappe>/style.css og kontrollerer: filen finnes, det står en Theme Name: og en Template: i den, style.css til foreldretemaet i den mappen finnes også, og forsiden viser til undertemaet (det er altså aktivt).

Oppgave A5.2: Kontroller undertemaet ditt (child theme)



Det du fyller inn, og det vi finner, lagrer vi ikke. Nettleseren din husker svarene dine og om du har bestått oppgaven. Er du logget inn, lagrer vi kun at du har (nesten) bestått oppgaven i Mine kurs; der kan du også slette det.

Oppgave D5.2: Hva har du endret, og hvorfor? Noter hvilke filer som ligger i undertemaet ditt, hva du har tilpasset i hver fil og hvorfor det ikke kunne gjøres i Nettstedsredigereren, i Ekstra CSS eller i en utvidelse. Kryss av at foreldretemaet fortsatt er installert og har automatiske oppdateringer.

Oppgave D5.2: Hva har du endret, og hvorfor?

Denne oppgaven gjør du selv; ingen kontrollerer den. Kryss av det du har gjort, og merk oppgaven som fullført.




Avkrysningene og notatene dine blir kun i denne nettleseren; vi sender dem ikke noe sted. Er du logget inn, lagrer vi kun i Mine kurs at du har gjort oppgaven.

Les mer

Disse artiklene beskriver trinnene i kontrollpanelene til WebOké; i andre kontrollpaneler fungerer det på lignende måte.

Et øyeblikk …

Sett opp domenene dine

Ordne for hvert domene navnetjenerne, koblingen til hostingen din og hvem som blir innehaver.

Laster inn domenene dine…