Tema Rammer kan være ekstremt kraftig. For ikke-tekniske WordPress-brukere gjør de det mulig å lage et unikt nettsted som ser ut til at det kjører et skreddersydd tema, og for WordPress-utviklere kan de hjelpe deg med å bruke DRY (Do not Repeat Yourself) -prinsippet og gi deg muligheten til å bygge egendefinerte nettsteder raskt.
Hvis du har brukt et tredjeparts rammeverk for en stund og blitt frustrert med den oppblåste koden eller mangel på fleksibilitet, eller du bare vil ha full kontroll over koden din, kan det være den beste tilnærmingen å bygge ditt eget tema rammeverk..
I denne serien lærer du hvordan du lager ditt eget WordPress-tema rammeverk som du kan bruke til å bygge nettsteder for deg selv eller dine kunder, eller til og med slippe for andre brukere. Du vil jobbe gjennom stadiene som er involvert i å skape overordnet temaet som danner grunnlaget for rammen, legger til ekstra funksjoner, kroker og mer. Du lærer også hvordan du kan utnytte disse i barnas temaer og plugins og hvordan du slipper koden din til offentligheten.
Men før du kommer i gang, må du vite hvordan temarammer fungerer, og hva som gjør dem annerledes, danner et vanlig foreldetema.
Jeg har brukt tid på å utvikle to temaer for bruk på to kategorier av kundesider, utvikle og forbedre disse over tid, og jeg har også jobbet med noen av temaene fra tredjeparts temaer. I min erfaring har et temaramme noen hovedtrekk:
De to første punktene ovenfor er de mest grunnleggende - uten et overordnet tema, har du ikke et temaramme. Og et overordnet tema uten disse kroker og funksjoner er bare et grunnleggende foreldre tema, egentlig ikke et rammeverk.
Så det er hvilke temarammer, men hvordan fungerer de? La oss ta en titt på elementene i et temaramme:
Hovedkomponenten i et temaramme er foreldetemaet. Dette kan være utformet på to måter:
Som et av hovedtrekkene til temarammer er DRY-prinsippet, vil ditt foreldetema sannsynligvis gjøre bruk av maldeler og inkludere filer der det er mulig, noe som betyr at du kan få tilgang til samme kode på flere steder i temaet ditt. Dette gjør det også lettere å overstyre koden i barnetemaene dine, da du bare oppretter en erstatningsmalldel eller inkluderer fil.
Jeg skal ikke forklare begrepet foreldre og barnemner her som det er dekket i denne opplæringen om barnemner. Mange temarammer kommer med en rekke barnemner for å støtte dem, mens med andre må du utvikle din egen.
Hvis du utvikler din egen, vil jeg anbefale å skape minst ett "startbilde" barntema for å unngå å gjenta arbeidet med å sette opp en opp for hvert prosjekt: Du kan bestemme å lage flere barnemner som grunnlag for ulike typer prosjekter , for eksempel barnemner for blogger og for nettsteder utenfor bloggen.
Et tema rammeverk vil inkludere en rekke kroker for barn temaer og plugins å koble til når du legger til tilpasset kode eller endre måten temaet oppfører seg på:
Det er verdt å ta litt tid å vurdere hvilke kroker du vil inkludere på et tidlig stadium, slik at du vet hvilket innhold som skal inkluderes via en krok og hva du skal kode inn i malfilene dine direkte. Du ser på dette i neste del av denne serien.
Rammen din er også sannsynlig å inkludere en rekke funksjoner. Noen av disse vil koble inn i handlingen og filterkrokene du allerede har definert, mens andre vil være funksjoner som malemerker hvilke barnemner kan gjøre bruk av.
Hvis du har noen tilpassede funksjoner du bruker på en rekke kundesider, er det verdt å legge dem til rammen. Du trenger ikke å aktivere alle dine funksjoner: Du kan aktivere en funksjon fra foreldetemaet ved hjelp av en ADD_ACTION ()
fungere på ditt barns nettsted.
Temaalternativer-skjermer er et nyttig tillegg til et komplekst tema, men vil være spesielt nyttig for temarammer designet for ikke-tekniske brukere. De store temarammene alle inkluderer flere temaalternativer-skjermbilder i sin egen admin-seksjon, med muligheter, inkludert byttefunksjoner på og av, endring av layout, legge til innhold og endre designelementer som farger, bakgrunnsbilder, skrifter og headerbilder.
Du kan velge å bruke temaet tilpasser for mange av alternativene dine, som har fordelen av å la brukerne se endringene når de lager dem. Jeg har tatt denne tilnærmingen til Edupress-temaverket, som jeg utviklet for skolesider med Mark Wilkinson.
Enten du velger å legge til en rekke widgetområder, vil avhenge av publikum for rammen din: Hvis du eller et lite team av utviklere vil jobbe med temaet, kan du ikke legge til noen widgetområder utover standard sidebar og bunntekst områder.
Men hvis rammen din blir brukt av ikke-tekniske brukere, kan du gi dem mye mer fleksibilitet ved å registrere flere widget-områder på forskjellige steder i temaet ditt. I tillegg til den normale sidebar og bunnteksten kan du også registrere widget-områder i overskriften, før og / eller etter innholdet og under bunnteksten.
Temaverket som jeg bruker for klientnettstedene mine, inneholder fire widgetområder i bunnteksten: temaet sjekker hvilke av disse er befolket og legger til CSS-klasser tilsvarende slik at de befolket widgetområdene hver vil ta opp den aktuelle bredden på siden.
Widgetområdene dine kan være kodet direkte inn i malfiler, eller du kan bestemme (som jeg gjør) for å legge dem til via handlekroker på de relevante stedene på nettstedet ditt. Dette betyr at de kan overstyres i barnemner, enten ved alternative widgetområder eller ved tilpasset kode.
Hvis et gitt skript sannsynligvis vil bli brukt av en rekke nettsteder som er bygget på rammen din, eller hvis brukerne dine vil være ikke-tekniske og du vil gi ekstra alternativer, kan du bestemme deg for å inkludere visse skript i rammen, for eksempel en skyvekontroll eller lightbox-skript. Dette kan lagre brukere som trenger å installere ekstra plugins, men har ulempen med kodeblokk hvis disse skriptene ikke er nødvendig.
Igjen vil dette avhenge av publikum og forventede behov: Hvis det bare er du som arbeider med rammen, vil jeg anbefale å utvikle (eller identifisere) programtillegg med disse skriptene og bruke dem når du trenger å.
Hvis du inkluderer skript, er det verdt å inkludere et aktiverings- og deaktiveringsalternativ på skjermbildet for temaalternativer.
Hvis rammen din skal være nyttig for en rekke nettsteder nå og i fremtiden, vil du at den skal utvides. Overordnet temaet som danner kjernen i rammen er bare hjertet av et økosystem som du og dine tema brukere vil tappe inn for å legge til ekstra alternativer og strøm til deres nettsteder. Dette vil inkludere:
Det kan også inkludere dokumentasjon for andre utviklere som ønsker å jobbe med rammene dine: De fleste av de store temarammene leveres med omfattende dokumentasjon som utviklerne kan bruke til å tilpasse sine sider bygget på rammen eller å lage barnemner eller plugin for andre brukere av ramme for tilgang.
Tema rammer er et kraftig verktøy i WordPress utviklerens arsenal. Som vi har sett, er de avgjørende for tusenvis av ikke-tekniske nettstedseiere som bruker dem til å lage egendefinerte WordPress-nettsteder. Men de er også et flott verktøy for enhver utvikler som vil skape flere nettsteder, enten for personlig bruk eller for kunder.
Temaverkene har en rekke egenskaper som gir dem den kraften: De er uttrekkbare og fleksible, og gjør det enkelt for deg eller brukerne å lage tilpassede nettsteder som bruker barnemner og tilgang til funksjonene og kroker som er gitt av rammen din.
Etter å ha sett på hvordan rammebetingelser fungerer, vil du i neste del av denne serien identifisere hva rammen din må gjøre og hvem den trenger å jobbe for, noe som vil hjelpe deg med å bestemme deg for den mest hensiktsmessige utviklingsmetoden.