WordPress malli hierarkia on yksi vaikutusvaltaisimmista asioista elämässä teema Kehittäjät. Käyttäjät voivat joutua ymmärtämään sitä, plugins voi olla vuorovaikutuksessa sen kanssa, mutta yleensä se on theming, joka on kyse mallin hierarkia.
Tämä johtuu siitä, että se on WordPress malli hierarkia, joka määrittää, mitä tiedostoja teema käytetään tiettynä ajankohtana. Eli: malli hierarkia on perusta, jolle WordPress themers tehdä taidetta.
tämän artikkelin tarkoituksena on täsmentää tätä ajatusta. Määrittelemme, mitä malli hierarkia tekee, miksi sinun täytyy tietää siitä olla tehokas modifier WordPress sivustoja, ja puhumme siitä, miten työskennellä sen kanssa ja (hyvin lyhyesti) miten se toimii.
- mikä on Mallihierarkia?
- Walking the Template Hierarchy
- the Ultimate Fallback: What and Why
- miksi WordPress-Mallihierarkia on olemassa
- nopea keskustelu Lapsiaiheista
- miksi sinun täytyy ymmärtää WordPress-mallin hierarkia
- miten WordPressin Mallihierarkiassa toimitaan
- miten Mallihierarkia toimii WordPress-koodin sisällä
- lisätietoa Mallihierarkiasta
- nyt tiedät WordPress-mallin hierarkian!
mikä on Mallihierarkia?
sen ytimessä, malli hierarkia on valinta-rakenne WordPress käyttää määrittää, mitä tiedostoa teema käytetään tuottamaan koko, lopullinen HTML tietyn sivun WordPress verkkosivuilla.
WordPress tarvitsee tavan osata olla vuorovaikutuksessa teeman kanssa. Olisi mahdollista, että joku voisi kirjoittaa erilaisia monimutkaisia PHP logiikka niiden teema, joka selitti WordPress miten vuorovaikutuksessa sen kanssa. Se voisi, ehkä, olla PHP luokka, joka sopi WordPress-määritelty käyttöliittymä (olio-suuntautunut ohjelmointi mielessä), että jokainen teema olisi vastattava.
mutta se on monimutkaista—lukea, saati tehdä. Ja juuri se on mallihierarkian ydin.: jotta WordPress voisi onnistuneesti käyttää erilaisia teemoja, mutta myös tehdä suhteellisen helppo luoda ja muokata teemoja, tarvittiin yksinkertaisempi ratkaisu. Ja sitä sapluunahierarkia on.
sen ytimessä, malli hierarkia on valinta-rakenne WordPress käyttää määrittää, mitä tiedostoa teema käytetään tuottamaan koko, lopullinen HTML tietyn sivun WordPress verkkosivuilla.
useimmat tiedostot WordPress teema ovat todella jäseniä mallin hierarkia, ja WordPress päättää soittaa yksi niistä riippuen siitä, millaista tietoa se yrittää näyttää.
Walking the Template Hierarchy
Jos WordPress tarvitsee näyttää tietyn tekijän (käyttäjän) viestit (tai minkä tahansa sisältötyypin) WordPress-sivustolla, sillä on pari tarvetta. Ensisijaisesti:
- sen täytyy tehdä helpoksi jollekin teemaa tekevälle tai muokkaavalle muokata sivua
- sen täytyy varmistaa, että jos muokkauksia ei tarvita, sillä on jotain käyttöä
tämän toteuttamiseksi, mallihierarkia kokeilee eri tiedostoja tällä hetkellä aktiivisessa teemassa. Jos niitä on, se käyttää niitä. Jos eivät, se jatkuu.
so in looking to find the template to present all the posts for given author, let ’ s make that authors username ”david” who has a numeerinen id
of 3
. (Varmasti sattumaa. ; P) WordPress on tiedettävä, mitä tiedostoa nykyinen teema käyttää. Tältä se siis näyttää teematiedostojen kautta:
- onko tiedosto
author-david.php
olemassa? Ei … - onko tiedostoa
author-3.php
olemassa? Ei … - onko tiedostoa
author.php
olemassa? Ei … - onko tiedosto
archive.php
olemassa? Ei … - onko tiedostoa
index.php
olemassa? Kyllä!
huomaat, että on viisi ”Ei”s ennen kuin WordPress saa kyllä. Jokainen niistä, ja seuraava kysymys ovat mallin hierarkia. Heti kun WordPress saa ”kyllä” yksi näistä kysymyksistä, mallin hierarkian rooli on tehty. Mutta tämä on todella tärkeää.
löydetty tiedosto vastaa koko sivun HTML: stä. Kirjaimellisesti mitään, että WordPress tekee tai näyttää sivulla sivustosi tulee yhden mallin hierarkia tiedoston teema. (Kuten luultavasti jo tiedät, se ei tarkoita, että kaikki jutut WordPress tekee on juuttunut että tiedosto, mutta tapoja, että muut jutut saa vetää on soveltamisalan ulkopuolella tämän artikkelin.)
joten nämä kysymykset (WordPress päätti, mitä etsiä URL että henkilö vierailee), jotka muodostavat mallin hierarkia. Ja ihan vain tiedoksi, jos sinulla ei ole index.php
, sinulla ei ole WordPress-teemaa. Se on sapluunahierarkian jokaisen osan viimeinen pysäkki.
the Ultimate Fallback: What and Why
kuten juuri sanoin, ilman index.php
, sinulla ei ole WordPress-teemaa. Mutta, jos sinulla on yksi, et todellakaan tarvitse muita tiedostoja, joita saatat käyttää mallihierarkiasta. Se on toinen asia tajuta.
WordPress tarvitsee, kuten edellä totesimme, jonkin verran varmuutta siitä, että se pystyy aina tekemään sivun loppukäyttäjälle. Teeman on tarjottava se. Sitä varten mallihierarkia on. Mutta lopullinen varasuunnitelma on ehdoton, ja siksi WordPress ei anna sinun ottaa käyttöön teema, joka ei ole index.php
tiedosto.
miksi WordPress-Mallihierarkia on olemassa
mallihierarkia on olemassa, jotta teemasuunnittelijoiden ja kehittäjien olisi helpompi muokata WordPress-sivuston ulkoasua. Se on hyvin yleistä, että asiakas tehdä” tag archive ” sivut blogiinsa erilainen yhden post sivu. Joten WordPress malli hierarkia tukee tätä tarvetta.
kuten edellä mainittiin, mallihierarkialle on vaihtoehtoja, joita voi kuvitella. Harva niistä on kuitenkaan hyvä. Ja se on pohjimmiltaan koko syy, miksi mallihierarkia on olemassa.
nopea keskustelu Lapsiaiheista
kuten ehkä tiedätte, WordPress sisältää näitä asioita kutsutaan lapsi teemoja. Ja todella, WordPress lapsi teemat ovat yli puolet syy rakastaa mallin hierarkia. Lapsi teemat ovat tapa, että suunnittelijat ja kehittäjät voivat tehdä pieniä parannuksia tietyille sivuille sivuston ilman luoda koko teema itselleen.
lapsiteemojen kokonaisuudesta keskustellaan paljon tämän artikkelin jälkeenkin. Lisätietoja lapsi teemoja, sinun on hyvin palvelee nämä kaksi artikkelia WPShout, tai tämä yksi WordPress.org sivusto.
lapsiteemojen ydin on se, että WordPress-mallihierarkia on niistä tietoinen ja toimii niiden kanssa. Joten mitä olen aiemmin selittänyt noin etsivät tiedostoja edellä tekijä malli on itse asiassa hieman erilainen, jos lapsi teema käytetään. Jos niin käy, se näyttää:
- onko tiedosto
author-david.php
olemassa lapsiteemassa? Ei … - onko tiedosto
author-david.php
olemassa yläteemassa? Ei … - onko tiedosto
author-3.php
olemassa lapsiteemassa? Ei … - onko tiedosto
author-3.php
olemassa yläteemassa? Ei … - onko tiedosto
author.php
olemassa lapsiteemassa? Kyllä!
huomaat, että siinä on enemmän askelia päästä niin pitkälle sapluunahierarkiaan. Huomaat myös, että lapsiteema tarkistetaan aina ensin. Tämä on todella tärkeä asia mallihierarkiassa ja lasten teemoissa—heidän tiedostonsa päihittävät aina vanhemman tiedostot, kun on kyse mallihierarkiasta.
miksi sinun täytyy ymmärtää WordPress-mallin hierarkia
Teemoitus ilman, että sinulla on hyvä käsitys mallin hierarkiasta, on lähes mahdotonta. Voit ehkä tehdä sen, mutta se tuntuu hämmentävältä ja mystifioivalta taikuudelta.
se auttaa myös, jos yrität tehdä, tietää joitakin plugins, jotka tekevät mallipohjan hierarkia hieman selkeämpi: mikä malli ja Näytä nykyinen malli. Nämä molemmat tekevät saman asian (mikä on hyödyllistä, jos tunnet myös mallipohjahierarkian): ne kertovat, mitä mallipohjahierarkiatiedostoa käytetään tietyn sivun rakentamiseen. Molemmat itse asiassa kertovat hieman enemmän, mutta se on heidän ensisijainen käyttötarkoituksensa (ainakin minulle).
miksi sinun täytyy tietää mallipohjahierarkiasta ja ymmärtää sen rakenne—vaikka millä mallilla työkaluvyössäsi—on se, että käytät sitä ”ohittaaksesi.”Lapsi teema, ”ohitus” on yhtä helppoa kuin luoda tiedoston samanniminen lapsi teema ja kutsumalla sitä hyvä. Mutta kun yrität olla tarkempi kuin että, sinun täytyy viitata kaavioon mallin hierarkia. Sinne kurkotan aina wphierarchy.com. WordPress.org on kaavio, samoin kuin Googlen kuvahaku. Mutta mikään ei ole nopeampi käyttää tyhjäkäynnillä tilassa kuin tämä sivusto.
miten WordPressin Mallihierarkiassa toimitaan
Jos olet lukenut lineaarisesti, sinulla on mielestäni jo aika hyvä vastaus tähän kysymykseen. Mutta tämä on internet ja tiedän, että ihmiset skippaavat. Mallin hierarkian kanssa työskennellään tekemällä teema. Olipa se itsekantava teema tai ”lapsi”, joka nojaa” vanhempi”, teeman tiedostot ovat pohjimmiltaan miten muutat tapaa, jolla työskentelet mallin hierarkia.
periaatteessa luodaan tiedosto, joka täsmää siihen kohtaan, missä mallihierarkiassa yritetään muuttaa sivun ulkoasua. Joten jos yrität tehdä HTML yhden sivun näyttää erilaiselta,voit määrittää sivun malli, tai tehdä tiedoston teema, että viesti tunnus rullattu.
kumpikaan näistä ei ole täydellinen. Mutta niin se pohjimmiltaan toimii.
miten Mallihierarkia toimii WordPress-koodin sisällä
”miten WordPress-mallin hierarkia toimii?”on todella akateeminen kysymys, että lähes mikään WordPress Kehittäjä koskaan tarvitsee vastausta. Mutta eräänä päivänä huomasin vain ohimennen ihmetteleväni, ja niin katsoin sen ylös. Ja tämä artikkeli ilmestyi:
lyhyt vastaus, niille jotka ovat kiinnostuneita lukemaan tätä, mutta eivät ole tarpeeksi kiinnostuneita klikkaamaan, on joukko if
s ja elseif
s PHP-koodissa. Ei paljon enempää. Se ei ole kaikkein tyylikäs koodi, joka perustuu tämän voimakas ja tärkeä osa WordPress, mutta se toimii hyvin ja mahdollistaa kaikki teemat olet koskaan tiennyt ja rakasti WordPress. Aika siistiä!
lisätietoa Mallihierarkiasta
Jos olet uusi joissakin tämän artikkelin käsitteissä tai tarvitset vain kertauksen, tutustu näihin muihin artikkeleihin, jotka meillä on. Ensin kaksi aloittelijoille:
sitten niille, jotka haluavat sukeltaa syvemmälle ja miettiä tarkemmin mallihierarkiaa ja miten se toimii, ja miten sen kanssa pitää toimia:
nyt tiedät WordPress-mallin hierarkian!
Toivottavasti tämä vyön alle, sinulla on melko hyvä tunne WordPress malli hierarkia: että se on tapa, että WordPress vuorovaikutuksessa teema määrittää, miten rakentaa HTML, että se näyttää sivuston kävijöitä. Ja toivottavasti ymmärrät myös, miksi WordPress on malli hierarkia (jotta teemat toimivat sen kanssa) ja miksi voit käyttää sitä (muokata sivuja sivustosi kautta teema, helpommin). Ja toivon, että osaat myös olla vuorovaikutuksessa sen kanssa: lisäämällä tai poistamalla tiedostoja, joiden kanssa se on vuorovaikutuksessa. Sillä lailla, happy hacking!