Rune har skrevet litt i dag om hvordan Innstikk vil virke i WordPress 2.7, og jeg ønsker å fortelle litt om hvordan Temaer vil fungere i WordPress 2.7.
Det er høyst sannsynlig at det vil også være mulig med automatisk installasjon og oppgraderinger av WordPress-temaer i WP 2.7, hvilket bringer meg til den absolutt viktigste endringen i hvordan temaer oppfører seg.
I WordPress 2.7 kan du nemlig overkjøre alle malfilene i Hovedtemaet i et Dattertema.
Dette vil gjøre det mye enklere for deg å redigere et tema, fordi du vil ikke trenge å røre filene til temaet du skal redigere, – i stedet lager du nye maler som brukes i stedet for de som kommer til temaet.
- Ønsker du en annet oppsett av sidebar.php så bare lager du en ny sidebar.php og laster opp til Dattertemaet. Hvis du vil legge til en malfil som Hovedtemaet mangler, så bare lager du denne filen og legger i Dattertemaet.
Poenget er “Ikke rediger, – overkjør“.
WordPress 2.7 kommer også med et spennende malkode, som foreløbig bærer navnet locate_template(). Denne gjør at du kan gi støtte for ekstra malfiler i et tema slik f.eks. Basic2Col har.
I Basic2Col har jeg laget en egen funksjon for dette; basic2col_navbar() – denne lar deg rett og slett lage en fil som heter navbar.php med en kode du ønsker å vise etter headeren men før innholdet.
Men i WP 2.7 trenger jeg ikke å lage en egen kode med det, men i stedet bruke:
locate_template(array('navbar.php'),true);
Som temaforfatter gir dette meg uante muligheter; fordi jeg kan lage et tema og siden tenke at du som bruke det kanskje kunne tenkt deg f.eks. et meny på toppen, og da kan jeg gi støtte for en fil som lar deg lage dette, uten at original-temaet har det.
Relaterte lenker
- WordPress Trac: Look for Template Files in Stylesheet Directory First
- WordPress Trac: Template tag: wp_include_file
- WordPress Codex: Theme Style Sheet
- Themeshaper: How To Protect Your WordPress Theme Against Upgrades
- Themeshaper: How I used a WordPress Child Theme To Redesign My Blog The Smart Way
- op111.net: How to make a “child theme” for WordPress. A pictorial introduction for beginners

Jeg skjønner poenget, men hva er det som hindrer meg å bare legge inn <php include ‘meny.php’; ?> i temafilen min, uten verken innstikk eller ny versjon av WordPress?
28. August, 2008 @ 21:22
Ingenting hindrer deg, men hvis du bruker vanlig include (dette er gitt at du har et offentlig tema som jeg kan laste ned og bruke på min side), så kan ikke jeg overkjøre den fila med min egen kode.
28. August, 2008 @ 21:31
Dette er noe jeg har savnet. Et par av tema-filene har jeg tuklet i selv -og det er like vanskelig å få dem med seg hver gang temaet oppdateres. Sidekolonnen har jeg ikke det problemet med -for der bruker jeg widgets med php-kode i, men ikke alt lar seg løse på den måten.
31. August, 2008 @ 00:24
Jeg er en av de som sjelden bruker Widgets, synes jeg har bedre kontroll ved å lage en egen php-kodet sidebar.
31. August, 2008 @ 08:04