Sono davvero confuso con index.php, home.php e front-page.php. In molti casi anche se avevo un index.php, Lho sovrascritto con front-page.php. Ma recentemente sono venuto a conoscenza di home.php.

  • Cosa “è la differenza tra home.php e index.php?
  • Qual è la condizione ideale per utilizzare un home.php di un index.php?
  • Qual è la condizione ideale per utilizzare un front-page.php?
  • Quando “utilizzo un front-page.php, quale attività specifica un index.php sta facendo per me allora?

Ho letto la Gerarchia dei modelli nel Codex. Per favore non mescolare la mia domanda con i modelli di pagina, ho capito “em, alHamduLILLAH.

Commenti

Risposta

La logica della prima pagina è una delle funzionalità più confuse in WordPress ed è eccezionalmente difficile da spiegare e riassumere. Come accennato nel commento mentre tornavo, ho sprecato tempo per mettere insieme il mio cheat sheet sulla logica della prima pagina per questo.

Ma dal momento che questo è un thread popolare, lasciami provare a rispondere a quelle domande molto specifiche che avevi.

Qual “è la differenza tra home.php e index.php?

home.php è modello per lindice dei post (archivio del tipo di post nativo, che è un caso speciale in WP). WP tenterà di cercarlo per lindice dei post, sia che siano visualizzati nella radice del sito o nella pagina dei post dedicati.

index.php è un modello generico. È una scelta finale in tutti i rami della gerarchia dei modelli e verrà scelto quando nientaltro si adatta, sia per gli archivi che per le viste singolari.

Solo lindice dei post può utilizzare home.php, ma tutti gli altri contesti potrebbero e useranno index.php.

Qual è la condizione ideale per utilizzare un home.php piuttosto che un index.php

Utilizza home.php per personalizzare lindice dei post.

Utilizzi index.php per fornire il modello più generico nel tuo tema, adatto per la visualizzazione di qualsiasi cosa.

Alcuni temi scelgono di avere index.php e assicurati che dispongano di modelli più specifici per tutti i casi possibili, in modo che non debba mai essere utilizzato.

Cosa “è la condizione ideale per utilizzare un front-page.php?

front-page.php viene utilizzato per lindice dei post nella pagina principale o statica, se abilitata.

È un modello ad alta priorità, quindi se il tema lo ha non è possibile selezionare un modello arbitrario per la prima pagina statica. Per questo motivo non è quasi mai incluso nei temi rilasciati pubblicamente (il che è corretto).

Il suo utilizzo migliore è nei progetti privati, poiché è più facile da configurare rispetto al modello di pagina.

Quando “utilizzo un front-page.php, quale specifica attività è un index.php sta facendo per me allora?

index.php è ancora un modello catch all per tutti gli altri casi.

Se utilizzi la pagina iniziale statica (alla quale verrà applicato front-page.php), la pagina dei post proverà a utilizzare home.php e quindi index.php.

Risposta

Il front-page.php file è il modello prima pagina del sito . Verrà sempre utilizzato sulla prima pagina del tuo sito, indipendentemente dal fatto che get_option( "show_on_front" ) sia impostato su page o posts.

Il file modello home.php è il indice dei post del blog modello. Verrà sempre utilizzato per visualizzare lindice dei post del blog, indipendentemente dal fatto che lindice dei post del blog sia visualizzato sulla prima pagina del sito o su una pagina diversa.

Nel caso in cui sia front-page.php e home.hpp esistono e get_option( "show_on_front" ) è impostato su posts (ovvero, la prima pagina del sito mostra lindice dei post del blog), il file front-page.php avrà la precedenza sul file home.php.

Il file index.php è il modello di riserva predefinito per tutti i contesti nella gerarchia di modelli . Viene utilizzato solo se non esiste un file modello più specifico per il contesto corrente.

La gerarchia dei modelli per la prima pagina del sito è:

  • front-page.php
  • If "page" == get_option( "show_on_front" ): gerarchia della pagina
  • If "posts" == get_option( "show_on_front" ): gerarchia dellindice dei post del blog

La gerarchia del modello per Lindice dei post del blog è:

  • home.php
  • index.php

La gerarchia del modello per pagine è:

  • Modello di pagina personalizzato
  • page-{slug}.php
  • page-{id}.php
  • page.php
  • index.php

Commenti

  • Quindi, se ‘ ho capito bene, ‘ sn Non è possibile utilizzare il modello my-template-1 quando la prima pagina è impostata sugli ultimi post e utilizzare my-template-2 quando la parte anteriore è impostata su una pagina statica ( senza codifica)?

Risposta

Tutto questo deriva da una lettura approfondita del Gerarchia modelli .

home.php viene utilizzato se:

  • Il tuo sito” s la prima pagina è impostata per visualizzare un elenco di post oppure
  • E il il tema ha un home.php file

Se lultima condizione non è “t soddisfatta, cioè non cè home.php file nel tema: verrà caricato index.php.

front-page.php verrà utilizzato se :

Se lultima condizione non è “t soddisfatta, cioè non è presente alcun file front-page.php nel tema, quindi index.php verrà caricato.

In sintesi

Se desideri personalizzare il tuo elenco di post, utilizza home.php.
Se desideri personalizzare la tua home page statica, utilizza front-page.php.

Commenti

  • home.php verrà utilizzato per lindice dei post del blog, indipendentemente da Posizione. Se la prima pagina è impostata per visualizzare lindice dei post del blog, verrà utilizzato home.php (se front-page.php non esiste).

Risposta

In breve:

  • index.php è solo un modello di riserva, nel caso in cui non sia stato trovato alcun modello appropriato
  • home.php viene utilizzato per il blog (un elenco di post recenti)
  • front-page.php viene utilizzato per la pagina di destinazione

Il modello index.php universale

Il file modello index.php è un modello di riserva. Viene utilizzato come ultima risorsa quando non è disponibile un altro modello più appropriato. Ad esempio, se non hai un front-page.php né un home.php, index.php lo farà essere utilizzato. Ciò vale anche per archive.php o single.php e così via.

Riguardo a front-page.php VS home.php

Ora la differenza tra front-page.php e home.php modelli è che il front-page.php viene utilizzato, come suggerisce il nome, come la prima pagina principale del sito, mentre home.php vuole essere la sede della sezione Blog .

Quale modello sarà utilizzato per la pagina di destinazione del mio sito?

Il modello front-page.php, se presente, verrà utilizzato per la prima pagina principale del sito (ad es. http://www.example.com/). Se non è presente, verrà utilizzato home.php. Se sia front-page.php e file modello mancano, quindi verrà utilizzato il index.php modello di riserva.

Quale modello verrà utilizzato per la pagina del mio blog?

WordPress ti consente di avere una pagina “Blog” (che elencherà i post recenti) su una pagina diversa rispetto alla pagina di destinazione (ad es. http://www.example.com/blog/).Quindi, se questo è il caso del tuo sito, la pagina del blog utilizzerà sempre il modello home.php. Se home.php non esiste, verrà utilizzato il index.php modello di riserva.

Come configurare latterraggio- pagina e pagina del blog?

Per configurare quale contenuto mostrare sulla tua pagina principale, vai all WordPress Admin , in Strumenti> Lettura , puoi configurare “ Visualizzazione della prima pagina ” per mostrare una pagina statica, oi tuoi ultimi post.

Nel caso in cui scegli di visualizzare una pagina statica in prima pagina, hai anche la possibilità di impostare quale pagina utilizzare come segnaposto per il Blog pagina (che utilizzerà il modello home.php):

inserisci qui la descrizione dellimmagine

Risposta

tratto da Gerarchia dei modelli di WordPress

Visualizzazione pagina iniziale

Per impostazione predefinita, WordPress imposta la home page del tuo sito per visualizzare i tuoi ultimi post sul blog. Questa pagina è chiamata indice dei post del blog. Puoi anche impostare i post del tuo blog in modo che vengano visualizzati su una pagina statica separata. Il file modello home.php viene utilizzato per eseguire il rendering dellindice dei post del blog, sia che venga utilizzato come prima pagina o in una pagina statica separata. Se home.php non esiste, WordPress utilizzerà index.php.

  1. home.php
  2. index.php

Nota: se esiste front-page.php, sovrascriverà il modello home.php.

Visualizzazione in prima pagina

Il file modello front-page.php viene utilizzato per visualizzare la prima pagina del tuo sito, sia che la prima pagina visualizzi lindice dei post del blog (menzionato sopra) o una pagina statica. Il modello della prima pagina ha la precedenza sul modello dellindice dei post del blog (home.php). Se il file front-page.php non esiste, WordPress utilizzerà i file home.php o page.php a seconda dellimpostazione in Impostazioni → Lettura. Se nessuno di questi file esiste, utilizzerà il file index.php.

1. front-page.php – Utilizzato sia per “i tuoi ultimi post” o “una pagina statica” come impostato nella sezione di visualizzazione della prima pagina di Impostazioni → Lettura.

2. home.php – Se WordPress non riesce a trovare front-page.php e “i tuoi ultimi post” è impostato nella sezione di visualizzazione della prima pagina, cercherà home.php. Inoltre, WordPress cercherà questo file quando la pagina dei post è impostata nella sezione di visualizzazione della prima pagina.

3. page.php – Quando “front page” è impostato nella sezione di visualizzazione della prima pagina.

4. index.php – Quando “i tuoi ultimi post” è impostato nella prima pagina visualizza la sezione ma home.php non esiste o quando è impostata la prima pagina ma page.php non esiste .

Come puoi vedere, ci sono molte regole sul percorso intrapreso da WordPress. Utilizzare il grafico sopra è il modo migliore per determinare cosa visualizzerà WordPress.

Grafico gerarchico dei modelli: Gerarchia dei modelli di WordPress

Risposta

Ho deciso di provare quale modello viene utilizzato per ciascuna delle seguenti pagine quando sono impostate le varie opzioni di visualizzazione della pagina iniziale.

  • example.net
  • example.net/home/
  • example.net/blog/

I risultati sono piuttosto lunghi, ma possono essere usati come riferimento o cheat-sheet.

Visualizzazione della prima pagina

Fonte: Come funziona I modelli front-page.php e home.php differiscono in WordPress?

Nota per leditore: Ho provato a copiare e incollare le tabelle qui ma è richiesto il formato markdown anziché HTML. Converti in markdown se puoi.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *