La gerarchia dei modelli WordPress è una delle cose più influenti nella vita degli sviluppatori di temi. Gli utenti potrebbero aver bisogno di capirlo, i plugin potrebbero aver bisogno di interagire con esso, ma generalmente è il tema che riguarda la gerarchia dei modelli.
Questo perché è la gerarchia dei modelli di WordPress che determina quale dei file in un tema viene utilizzato in un dato momento. Cioè: la gerarchia dei modelli è il fondamento su cui i themer di WordPress fanno la loro arte.
Lo scopo di questo articolo è quello di chiarire ulteriormente questa idea. Definiremo cosa fa la gerarchia dei modelli, perché è necessario saperlo per essere un modificatore efficace dei siti WordPress, e parleremo di come lavorare con esso e (molto brevemente) come funziona.
- Qual è la gerarchia dei modelli?
- Camminando nella gerarchia dei modelli
- Il Fallback finale: cosa e perché
- Perché esiste la gerarchia template WordPress
- Una rapida discussione di temi figlio
- Perché è necessario comprendere la gerarchia dei modelli WordPress
- Come lavorare con la gerarchia dei modelli di WordPress
- Come funziona la gerarchia dei modelli all’interno del codice WordPress
- Ulteriori letture sulla gerarchia dei modelli
- Ora conosci la gerarchia dei modelli WordPress!
Qual è la gerarchia dei modelli?
Al suo centro, la gerarchia del modello è la scelta-struttura WordPress utilizza per determinare quale file nel tema verrà utilizzato per generare il pieno, HTML finale per una determinata pagina del tuo sito web WordPress.
WordPress deve avere un modo per sapere come interagire con il tema. Sarebbe possibile che qualcuno potesse scrivere vari tipi diversi di logica PHP complessa per il loro tema che spiegasse a WordPress come interagire con esso. Potrebbe, forse, essere una classe PHP che corrisponde a un’interfaccia definita da WordPress (nel senso di programmazione orientata agli oggetti) a cui ogni tema dovrebbe rispondere.
Ma è complicato—da leggere, figuriamoci da fare. E questo è esattamente il punto della gerarchia del modello: per WordPress essere in grado di utilizzare con successo temi diversi, ma anche rendere relativamente facile creare e modificare temi, era necessaria una soluzione più semplice. E questo è ciò che è la gerarchia del modello.
Al suo centro, la gerarchia del modello è la scelta-struttura WordPress utilizza per determinare quale file nel tema verrà utilizzato per generare il pieno, HTML finale per una determinata pagina del tuo sito web WordPress.
La maggior parte dei file in un tema WordPress sono in realtà membri della gerarchia dei modelli e WordPress sceglierà di chiamare uno di essi a seconda del tipo di informazioni che sta cercando di mostrare.
Camminando nella gerarchia dei modelli
Se WordPress ha bisogno di mostrare i post (o qualsiasi tipo di contenuto) da un autore specifico (utente) su un sito WordPress, ha un paio di esigenze. Principalmente:
- Deve rendere più facile per qualcuno che crea o modifica un tema per personalizzare una pagina
- Deve assicurarsi che se non sono necessarie personalizzazioni, avrà qualcosa da usare
Per ottenere ciò, la gerarchia del modello proverà diversi file nel tema attualmente attivo. Se esistono, li userà. Se non lo fanno, continuera ‘ ad andare avanti.
Quindi, nel cercare di trovare il modello da utilizzare per presentare tutti i post per un determinato autore, facciamo che gli autori username “david” che ha un numericoid
di3
. (Sicuramente una coincidenza. ; p) WordPress ha bisogno di sapere quale file dal tema corrente da utilizzare. Quindi ecco come appare attraverso i file del tema:
- Esiste il file
author-david.php
? No - Il file
author-3.php
esiste? No - Esiste il file
author.php
? No - Esiste il file
archive.php
? No - Il file
index.php
esiste? Sì!
Noterai che ci sono cinque “no”prima che WordPress ottenga un sì. Ognuno di loro, e la seguente domanda sono la gerarchia del modello. Non appena WordPress arriva a un ” sì ” su una di queste domande, il ruolo della gerarchia del modello è fatto. Ma questo è davvero importante.
Il file trovato è responsabile dell’HTML dell’intera pagina. Letteralmente tutto ciò che WordPress fa o mostra su una pagina del tuo sito proviene da un singolo file di gerarchia del modello nel tuo tema. (Come probabilmente già sapete, questo non significa che tutte le cose WordPress fa è inceppata in quel file, ma il modo in cui che altre cose viene tirato in è al di fuori dello scopo di questo articolo.)
Quindi sono queste domande (WordPress ha deciso quale cercare in base all’URL che la persona sta visitando) che compongono la gerarchia del modello. E solo così sai, se non hai un index.php
, non hai un tema WordPress. Questa è l’ultima fermata per ogni parte della gerarchia del modello.
Il Fallback finale: cosa e perché
Come ho appena detto, senza unindex.php
, non hai un tema WordPress. Ma, se ne hai uno, non hai davvero bisogno di altri file che potresti usare dalla gerarchia del modello. Che l’altra cosa da realizzare.
WordPress ha bisogno, come abbiamo detto sopra, di una certa certezza che sarà sempre in grado di creare una pagina per l’utente finale. Un tema deve prevedere che. Ecco a cosa serve la gerarchia dei modelli. Ma la necessità di un fallback finale è assoluta, ed è per questo che WordPress non consente di abilitare un tema che non ha un file index.php
.
Perché esiste la gerarchia template WordPress
La gerarchia template esiste per rendere più facile per i progettisti di temi e sviluppatori per personalizzare l’aspetto di un sito WordPress. È molto comune per un cliente rendere le pagine di” tag archive ” per il proprio blog diverse dalla pagina a post singolo. Quindi la gerarchia dei modelli di WordPress supporta questa necessità.
Come abbiamo detto sopra, ci sono alternative alla gerarchia del modello che si può immaginare. Ma pochi di loro sono buoni. E questo, fondamentalmente, è l’intero motivo per cui esiste la gerarchia del modello.
Una rapida discussione di temi figlio
Come forse saprai, WordPress ha queste cose chiamate temi figlio. E davvero, i temi figlio di WordPress sono più della metà della ragione per amare la gerarchia dei modelli. Temi bambino sono modo che i progettisti e gli sviluppatori possono fare piccole modifiche a pagine specifiche di un sito senza dover creare un intero tema per se stessi.
La progettazione completa dei temi figlio è un argomento di discussione ben oltre questo articolo. Per saperne di più sui temi bambino, sarete ben serviti da questi due articoli su WPShout, o questo sul WordPress.org sito.
La cosa fondamentale da sapere sui temi figlio è che la gerarchia dei modelli WordPress ne è a conoscenza e lavora con loro. Quindi quello che ho spiegato in precedenza sulla ricerca di file sopra per un modello di autore è in realtà un po ‘ diverso se viene utilizzato un tema figlio. Se lo fa, sembrerà:
- Il file
author-david.php
esiste nel tema figlio? No - Il file
author-david.php
esiste nel tema principale? No - Il file
author-3.php
esiste nel tema figlio? No - Il file
author-3.php
esiste nel tema principale? No - Il file
author.php
esiste nel tema figlio? SÌ!
Noterai che sono più passaggi per arrivare fino alla gerarchia del modello. Noterai anche che il tema figlio viene sempre controllato per primo. Questa è una cosa molto importante per la gerarchia del modello e i temi figlio: i loro file battono sempre quelli di un genitore, in cui è interessata la gerarchia del modello.
Perché è necessario comprendere la gerarchia dei modelli WordPress
Tematizzazione senza avere una buona comprensione della gerarchia dei modelli è quasi impossibile. Forse puoi farlo, ma ti sembrerà di confondere e mistificare la magia.
Aiuterà anche, se stai cercando di farlo, a conoscere alcuni plugin che rendono la gerarchia del modello un po ‘ più chiara: quale modello e Mostra il modello corrente. Entrambi fanno la stessa cosa (che è utile se conosci anche la gerarchia del modello): ti dicono quale file di gerarchia del modello viene utilizzato per costruire una determinata pagina. Entrambi in realtà ti dicono un po ‘ di più, ma questo è il loro uso primario (almeno per me).
Perché è necessario conoscere la gerarchia del modello e capire la sua struttura, anche con quale modello nella cintura degli strumenti, è che lo userai per “sovrascrivere.”Per il tema del bambino, un “override” è facile come creare un file con lo stesso nome nel tema del bambino e chiamarlo buono. Ma quando stai cercando di essere più specifico di quello, dovrai fare riferimento a un diagramma della gerarchia del modello. È lì che cerco sempre di raggiungere wphierarchy.com. WordPress.org ha un diagramma, così come una ricerca di immagini di Google. Ma nulla è più veloce per accedere da uno stato di inattività di questo sito.
Come lavorare con la gerarchia dei modelli di WordPress
Se hai letto linearmente, penso che tu abbia già una risposta abbastanza buona a questa domanda. Ma questo è Internet e so che le persone scremano. Si lavora con la gerarchia dei modelli creando un tema. Che si tratti di un tema autoportante o di un “figlio” che si appoggia a un “genitore”, i file di un tema sono fondamentalmente il modo in cui si cambia il modo in cui si lavora con la gerarchia del modello.
Fondamentalmente, si crea il file che corrisponde a dove nella gerarchia del modello si sta tentando di cambiare l’aspetto della pagina. Quindi, se stai cercando di rendere l’HTML per una singola pagina un aspetto diverso, sarai in grado di specificare un modello di pagina o creare un file nel tuo tema con l’ID di quel post.
Nessuno di questi è perfetto. Ma è fondamentalmente così che funziona.
Come funziona la gerarchia dei modelli all’interno del codice WordPress
“Come funziona la gerarchia dei modelli WordPress?”è davvero una domanda accademica a cui quasi nessuno sviluppatore WordPress ha mai bisogno di una risposta. Ma, un giorno mi sono trovato solo casualmente chiedendo, e così ho cercato in su. E questo articolo è uscito:
La risposta breve, per chi fosse interessato a leggere questo, ma non è abbastanza interessato a fare clic, è un gruppo di if
e elseif
nel codice PHP. Non molto di più. Non è il codice più elegante che sta alla base di questo aspetto potente e importante di WordPress, ma funziona bene e consente a tutti i temi che hai mai conosciuto e amato in WordPress. Piuttosto fresco!
Ulteriori letture sulla gerarchia dei modelli
Se sei nuovo ad alcuni dei concetti in questo articolo, o hai solo bisogno di un aggiornamento, dai un’occhiata a questi altri articoli che abbiamo. Il primo, due per i principianti:
Quindi, per coloro che desiderano immergersi a profondità e a riflettere di più sul modello di gerarchia e di come funziona, e come è necessario lavorare con esso:
Ora conosci la gerarchia dei modelli WordPress!
Speriamo che con questo sotto la cintura, hai un buon senso della gerarchia dei modelli WordPress: che è il modo in cui WordPress interagisce con un tema per determinare come costruire l’HTML che mostrerà ai visitatori del tuo sito. E spero che tu capisca anche perché WordPress ha una gerarchia di modelli (per far funzionare i temi con esso) e perché lo userai (per personalizzare le pagine del tuo sito, tramite il tuo tema, più facilmente). E spero che tu sappia anche come interagire con esso: aggiungendo o eliminando i file con cui interagisce. Con quello, felice hacking!