Det er mange mange måter du kan endre utseendet på en bestemt side på WordPress-siden din. Du kan endre innholdet i WordPress content editor. DU kan endre CSS-reglene som påvirker nettstedet. Eller opprett en ny fil i WordPress-temaets malhierarki for å svare til den spesifikke siden. Eller du kan bruke en temasidemal som er utformet spesielt for den siden. Det siste er det vi snakker om her. I denne opplæringen vil vi dekke både hvordan du lager En WordPress tilpasset sidemal, og hvorfor du kanskje vil gjøre det. Vi begynner med hvorfor.
når du sier «WordPress Theme Custom Page Template», hva mener du?
det er et stort terminologiproblem med dette emnet. Som jeg antydet ovenfor, er det mange ting med det vage begrepet «side» og » mal » I WordPress-verdenen som ikke er det vi snakker om her. Det første jeg * ikke * mener når du sier «WordPress custom page template» er » Et WordPress-tema.»(Mange nye Til WordPress sier «maler» når de mener » Et WordPress-tema.»)
så hva mener jeg med «tilpasset sidemal»? Jeg mener det som vises til høyre. For eksempel redigerer Du sideinnholdstypen I WordPress (selv om, som vi ser senere, kan den nå inkludere Andre WordPress-innholdstyper). Og mens du redigerer siden din, legger du merke til» Sideattributter » – boksen, og i det kan du (avhengig av om temaet ditt allerede har disse malene) se denne «Mal» – rullegardinmenyen. Denne valgboksen er illustrert til høyre(det er også på høyre side av skjermbildet «sideredigering»). Hvis du ser denne rullegardinmenyen, er det fordi temaet gir noen av disse » egendefinerte sidemaler.»De er faktisk filer i det aktive temaets mappe (eller dets overordnede), og har en enkelt kjennetegn vi kommer til senere. Men denne valgbare rullegardinmenyen av navngitte sidemaler er det vi snakker om her i dag.
Hvordan Passer Dette Inn I Malhierarkiet?
jeg har skrevet før, og jeg vil sannsynligvis gjøre det igjen, om hvordan malen-det er det ordet igjen — hierarki er virkelig nøkkelbegrepet du trenger å forstå for å bygge Eller endre Et WordPress-tema. (Her er vår raske introduksjon til det.) Nesten alt annet er en detalj du kan trene når du har forstått den grunnleggende dynamikken i malhierarkiet. Den spesifikke tingen vi mener i dag, sitter imidlertid utenfor malhierarkiet. Denne «valgte malen» erstatter i hovedsak hele utvelgelsesprosessen av malhierarkiet.
hvis En Tilpasset Sidemal ble valgt i rullegardinmenyen vi viste ovenfor, vil denne «mal» – filen bli brukt. Full stopp, ikke noe unntak.
for å gjenta at hvis en egendefinert sidemal er valgt, vil denne «mal» – filen bli brukt. Full stopp, ikke noe unntak. Hvis Ikke, Vil WordPress-malhierarkiet se etter en noe annen måte at noen kanskje har forsøkt å style en bestemt side-med en page-123.php
eller page-custom-template-utilizer.php
fil. (Forskjellen mellom Den Egendefinerte malen og en med denne page-$id
eller page-$slug
strukturen er egentlig bare i samhandling og grensesnitt.) Hvis Ingen av Disse er funnet, Vil WordPress falle tilbake til page.php
, hvis den eksisterer, og hvis ikke vil Vi ende opp med den ultimate reserven, index.php
.
hvis du lurer på hvorfor du vil bruke denne metoden i motsetning til den numeriske eller slug en-i begge tilfeller du oppretter en egendefinert fil i temaet ditt, tross alt — grunnen er at bruk av egendefinerte maler gir deg mer fleksibilitet og uavhengighet mellom temaet og nettstedets database og innhold. Av den grunn vil jeg anbefale det i omtrent alle situasjoner når du er usikker på hvilken du skal gå med. Med den numeriske eller slug-baserte page-*.php
– strukturen, er du tvunget til å gjøre temaet ditt kjent med den spesifikke Måten WordPress-databasedataene dine er akkurat nå. (Så hvis du gjenbruker temaet på et Annet WordPress-nettsted, er den filen ubrukelig.)
Hvordan Lager Jeg En WordPress Tilpasset Sidemal?
OK, så vi vet at tilpassede sidemaler vil overgå WordPress-malhierarkiet. Og at vi vil gjøre bruk av dem på faktiske sider Av Vår WordPress nettstedet ved å velge dem fra en» Mal » rullegardinmenyen på høyre linje av det aktuelle stykke innhold. Så det er på tide å komme til prosessen for å lage En WordPress tilpasset sidemal.
hva du skal gjøre er å legge til temaet ditt (og det burde virkelig være et barntema med mindre det er en veldig sterk begrensning som gjør det umulig for deg) en fil med et navn som my-template.php
eller really-cool-awesome.php
. Det spiller ingen rolle, så lenge du ikke faktisk bruker et navn som er en del av malhierarkiet, er du gylden. (Som betyr: ikke bruk et navn som page-whatever.php
. Som vi berørte ovenfor, Mener WordPress malhierarki at Det eier en fil som heter med det mønsteret.)
Når du har filen (cool-page-template.php
, uansett hva du foretrekker), bør du starte det slik:
<?php/*Template Name: Name To Appear In The Dropdown*/?>This is my custom template.
Og du er i utgangspunktet ferdig. Som du sikkert kan gjette, er navnet som vises i «Mal» – rullegardinmenyen det jeg smart kalte » Navn Som Skal Vises i Rullegardinmenyen.»Akkurat som temaets style.css
– fil, Eller en plugin-hovedfil, Bruker WordPress informasjonen i denne kodekommentaren for å gi den kontekst til arbeid.
da vil innholdet på sidene våre, i dette tilfellet, være DEN helt grunnleggende HTML-teksten «Dette er min tilpassede mal». Som du kanskje gjetter, er det her du er mye mer sannsynlig å sette HTML-innholdet du vil vises på siden. Så dine <h1>
– koder, <p>
– koder, og kanskje (hvis du har lyst på 🤪) NOEN PHP for å gjøre tilpasset oppførsel du vil vise frem.
Hvorfor Din WordPress Tilpassede Sidemal Ikke Vises
jeg har (mer enn en gang) hatt opplevelsen at Min Nye WordPress-sidemal ikke vises. Langt den vanligste årsaken er at jeg har skrevet (eller misremembed) hva filoverskriftskommentaren skal se ut. Det må merkes med nøyaktig riktig tittel. Så Template Name: Narrow Page
er perfekt, Men WordPress vil aldri finne noe som i stedet har en header på Template: Custom
.
Det er noen andre ting å sjekke på. Andre grunner til at du kanskje finner ut at den egendefinerte sidemalen ikke vises:
- du legger filen på feil sted (den må være i ditt nåværende løpende tema, eller dets overordnede)
- du ga malen en fil som starter med
page-
. På grunn Av En funksjon I WordPress-temaer, blir tilpassede sidemaler som starter medpage-
i stedet behandlet som side i malhierarkiet. - temaet mangler en av sine to krever filer, og så fungerer ikke. (WordPress temaer * må * ha en
index.php
fil og enstyle.css
.) - Det var et problem med Dette tilbake i Dagene Til WordPress 4.9 (for noen år siden nå)
Sidemaler For Ikke – «Side» WordPress Tilpassede Innleggstyper
for en stor del Av WordPress historie, disse» tilpassede sidemaler «var bare for» Side » innholdstype. (WordPress har bare to innholdstyper,» Innlegg «og» Sider » som standard.) Men I WordPress 4.7, funksjonen ble lagt til at du kan bruke disse sidemaler med nye innholdstyper(ofte kalt «tilpassede innleggstyper»).
for å gjøre dette legger du til en annen linje i » filhodet.»Så det ville se litt ut som dette:
<?php/*Template Name: Narrower TemplateTemplate Post Type: post, page, event*/// Page HTML and PHP goes here...
som du sannsynligvis kan gjette, forord denne nye Template Post Type:
– overskriften» kodenivå » -navnet for (egendefinerte) innleggstyper. Du vil merke at i eksemplet ovenfor viser vi page
innholdstypen Som WordPress leveres med, samt post
en. I tillegg støtter vi en tredje «tilpasset posttype» kalt event
.
En God Grunn Til Å Bruke Egendefinerte Sidemaler
nå, Hvis du har gjort dette før, vil Du legge merke til at siden ovenfor ikke har noen styling, og ser veldig lite ut som resten Av WordPress-nettstedet ditt (med mindre du har det enkleste temaet som er tenkelig). Det er fordi filen vår har en enkel ting i den, og mangler funksjonalitet som er svært vanlig i alle andre temasider. Det har ingen get_header()
, get_footer()
, Eller Loop, kaller at alle dine andre tema filer sannsynlig gjøre.
noen ganger vil du ha en side som ikke er mye som resten av nettstedet ditt, men fortsatt en del Av WordPress-administrasjonsopplevelsen din. Disse egendefinerte maler er perfekt for det.
men det illustrerer en av de store kreftene til tilpassede maler som disse også: noen ganger vil du ha en side som ikke er mye som resten av nettstedet ditt, men fortsatt en del Av WordPress-administrasjonsopplevelsen din. Disse egendefinerte maler er perfekt for det. Mens du ser dem brukes også for arkiver sider, eller (mindre vanlig) kontakt sider, er denne evnen ofte oversett.
Og Til Slutt, Noen Praktiske Råd Om Sidemaler
Når du ønsker å lage side som ser ut som dine andre sider (men litt annerledes), vil jeg faktisk begynne å kopiere en eksisterende fil fra temaet ditt, sannsynligvis page.php
. Dette er rett og slett fordi de fleste av oss finner det lettere å endre noe enn å bygge fra bunnen av. Kodeeksemplet gir sidemalen din en» blank hvit side » – følelse, der du sannsynligvis ønsker å legge til eller fjerne noen spesifikke detaljer fra din eksisterende page.php
– mal. Fjerne sidepanelet eller bunnteksten, for eksempel, er svært vanlige grunner til at folk lager en «tilpasset sidemal» I WordPress.
som vi har dekket, hvis du dupliserer temaets page.php
fil for å begynne å lage din egendefinerte sidemal, må du sørge for at du legger til «egendefinert sidemal header» vi har ovenfor. Igjen, det er den» magiske » siden som gjør at disse malene bare fungerer. Nå, gå gjøre awesome sider!
bilde kreditt:Infrogmation