Tenker du å foreta egne tilpasninger av et WordPress-nettsted er det endel ulike filer du må ha et forhold til. Her får du en oversikt over de viktigste filene, hvilken funksjon de har – og hvilke muligheter de gir for tilpasninger.

Det er tema-filene vi vil fokusere på, i og med at det er her bortimot all tilpasning skal skje. Alle andre filer utgjør delene av WordPress-kjernen og bør storsett ikke røres. Det er likevel fullt mulig å endre på dem, men endringene vil med stor sannsynlighet nullstilles i en fremtidig oppdatering, og dermed gjøre jobben forgjeves. Hovedregelen er altså å holde seg unna dem, og å gjøre tilpasningene i temaet.

Dog finnes det ett unntak fra denne regelen, som til gjengjeld er temmelig viktig.

Viktig konfigurasjonsfil: wp-config.php

Dette er en konfigurasjonsfil som benyttes for kommunikasjon mellom WordPress og MySQL-databasen, og som befinner seg på rot i WordPress-mappen. Det er i databasen alle dataene lagres, både innlegg, kommentarer, innstillinger også videre, og det er med andre ord viktig at innstillingene i fila er riktige. Normalt vil det ikke være nødvendig å foreta endringer i den, men det kan bli nødvendig for eksempel hvis du flytter nettstedet ditt fra ett sted til et annet.

Fila opprettes normalt som en del av installasjonen, men kan ved behov også opprettes manuelt. Mer informasjon om innholdet, og hvilke endringsmuligheter du har, finner du i den offisielle dokumentasjonen. Fila wp-config-sample.php inneholder for øvrig et eksempel på hvordan wp-config.php kan se ut, hvis den skulle mangle. Gjør den det kan du også være sikker på at nettstedet ditt ikke fungerer som det skal.

Tema-filene

I tema-mappen til temaet du benytter, som du finner i wp-content/themes, vil det befinne seg et stort antall filer. Når du ønsker å foreta endringer bør du vurdere å opprette et dattertema, også dette fordi du ellers risikerer å miste endringene dine i en fremtidig oppdatering – av temaet. (Les mer om dette i vår tidligere guide). Bygger du derimot ditt eget tema er ikke dette noe å tenke på.

Index.php

Dette er den første av to obligatoriske filer i et tema. Den sørger for hovedstrukturen i visningen av innhold på nettstedet ditt, og inneholder gjerne kall til andre filer – for eksempel sidetoppen (header) og sidebunnen (footer).

WordPress har et innebygget hierarki når det gjelder bruk av filer – eller maler – for visning av innhold. Index.php utgjør her siste skanse, og benyttes dersom ingen andre filer i tema-mappen påtar seg jobben. Ulike sider eller visninger benytter gjerne ulike maler, noe som både er enkelt og praktisk for nettsteder med undersider med ulik struktur på innholdet. Det blir mer om dette i en senere guide.

Style.css

Den neste obligatoriske fila er style.css. Også denne må befinne seg i ethvert tema, og her skjer formateringen av de ulike elementene på nettstedet, i form av språket CSS (Cascading Style Sheets). Det er også mulig å foreta de visuelle tilpasningene direkte i PHP-filene, men dette vil raskt føre til uoversiktlig kode og anbefales derfor som hovedregel ikke. I noen tilfeller kommer du dog ikke unna, for eksempel der du ønsker å lage en dynamisk løsning hvor valg av stil skal gjøres i PHP-koden.

Et eksempel på kode som kan befinne seg i style.css er:

body {
background-color: red;
color: white;
}

Dette vil gi et nettsted som har rød bakgrunnsfarge og hvit tekst.

Det er ellers viktig å merke seg at det øverst i style.css defineres hva navnet på temaet er, hvilken versjon av temaet du bruker osv. Denne fast definerte bolken med kode har strikte regler og benyttes av WordPress for å kunne sette temaet aktivt fra administrasjonspanelet. Hvordan kodebolken ser ut finner du i guiden vår om dattertemaer.

Style.css i temaet lastes for øvrig inn som erstatning for WordPress sitt standard stilsett, også navnet style.css. Ønsker du at begge lastes inn må dette gjøres manuelt, for eksempel i functions.php.

Functions.php

Også denne fila utgjør en viktig brikke i temaer. Her plasseres all PHP-kode du vil skal kjøres når temaet er aktivert. For større temaer kan det fort bli uoversiktlig å legge all PHP-kode av ymse slag i denne fila alene, og et vanlig bruksområde for functions.php er derfor å bruke den til å laste inn alle PHP-filer som skal gjøres, slik at den mer eller mindre utgjør en indeks over alle PHP-filer som ikke utgjør standardfilene.

Det finnes ulike måter å laste inn filer på, men en enkel variant er denne:

include( get_template_directory() . '/moduler/meny.php' );

Med denne koden vil innholdet i meny.php, i undermappen moduler, kjøres som om det skulle vært plassert i functions.php. Ved å splitte opp koden på denne måten holdes ulike deler adskilt, og det blir lettere å finne fram når man kommer tilbake til den en stund senere.

En annen viktig funksjon med enten functions.php, eller en av de inkluderte PHP-filene, er å laste inn script og stilsett nettstedet er avhengig av. Dette kan gjøres på tradisjonelt vis, ved å legge dem til i headeren i dokumentet, men dette er ikke anbefalt. Koden som må til for å laste inn én Javascript- og én CSS-fil med anbefalt metode vil se slik ut:

function mitt_tema_script() {

// Laster inn stillsettet navnet ’stilsett-navn’ fra samme mappe som ’style.css’ er lokalisert.
// Først oppgis navn på stilsettet, så plasseringen.
wp_enqueue_style( ’stilsett-navn’, get_stylesheet_uri() );

// Laster inn scriptet ’eksempel’ fra mappen js, som befinner seg på rot i temamappen.
// Navnet på scriptet og filnavnet trenger ikke være det samme.
wp_enqueue_script( ’eksempel’, get_template_directory_uri() . '/js/eksempel.js' );

}

// Til slutt registreres funksjonen, og både scriptet og stilsettet vil lastes inn før en hvilket som helst side // på nettstedet vises.
add_action( 'wp_enqueue_scripts', 'mitt_tema_script’ );

Header.php

Alle sidene på nettstedet vil inneholde mer eller mindre samme header, og kanskje også nøyaktig den samme. Dermed er det hensiktsmessig å samle all innledende kode i én fil, heller enn å gjenta den samme kode for hver eneste underside. Med sistnevnte variant ville nettstedet blitt tungt å vedlikeholde.

Denne fila inneholder derfor gjerne <html>-, <head>- og <body>-taggene. I tillegg er det flere funksjoner som bør kalles i header.php for å sørge for at innebygget funksjonalitet fungerer som den skal. Den aller viktigste funksjonen er wp_head();. Uten at denne funksjonen kalles vil eksempelvis ikke wp_enqueue_scripts ovenfor fungere, og hverken script eller stilsett vil lastes inn. Et annet eksempel på viktig funksjon er body_class();. Denne plasseres inne i <body>-taggen, og sørger for at alle sider automatisk får tilsendt en lang rekke standard CSS-klasser. Disse gjør det betraktelig enklere å få til det utseendet man ønsker, for eksempel ved enkelt å kunne identifisere forsiden, en underside, visning av ett enkelt innlegg – også videre.

Footer.php

På samme måte som header.php holder på gjentagende kode på toppen av hver side på nettstedet, holder footer.php på den gjentagende koden på bunnen av sidene. Ved å kalle funksjonen get_footer(); vises eksempelvis en linje ala ”Utviklet av..” nederst på alle undersider.

Sidebar.php

Dette er gjerne blant de enklere filene, og sørger for visningen av en eventuell sidemeny.

Utover dette kan – og vil – en WordPress-installasjon også inneholde en lang rekke andre filer. Men dette var en liten gjennomgang av de aller viktigste filene som inngår i et WordPress-tema, litt om hva de inneholder og hvilken funksjon de har. Flere detaljer og konkrete kodeeksempler kommer i senere guider.

 

Vi i Dahls Data AS tilbyr hjelp til alt innenfor WordPress. Har du behov for hjelp er du velkommen til å ta kontakt med oss.