Qual è la differenza tra home.php e index.php?
Se creo un file home.php, sembra che WordPress lo utilizzi al posto di index.php, quindi index.php non viene mai usato?
Quali sono le differenze tra questi due file template (presenti nella cartella del tema)? Si comportano entrambi allo stesso modo, con l'unica differenza nella priorità di home.php?

index.php
è il template universale, è quello che qualsiasi pagina (home, archivio, singolo articolo, ecc.) utilizzerà se non è disponibile un altro template specifico.home.php
è un template utilizzato per la pagina principale (nella condizioneis_home()
).
Consulta la Gerarchia dei Template per uno schema dettagliato di come vengono applicati i template.

home.php
è il file che il tuo sito utilizzerà per la pagina che hai impostato come "Pagina degli articoli" nelle opzioni di lettura in wp-admin. Se hai impostato una pagina statica come pagina iniziale, utilizzeresti front-page.php
se desideri che abbia uno stile speciale.

Puoi spiegarlo? Di solito, puoi ottenere tutte le categorie senza problemi in un home.php
. Il template viene scelto molto dopo che la query al database è stata eseguita.

Sì, ma se provi a implementare una struttura del sito come questa: 1. Home -> home.php / 2. News -> index.php / 3. Categoria post 1 -> category.php ... allora non c'è modo di mostrare post da tutte le categorie (il ruolo che index.php svolge) se non creando una pagina statica, un template di pagina separato per essa e ottenendo i post tramite una query separata in questo template. Se proviamo a collegarci direttamente a index.php, ovviamente ci reindirizza alla pagina progettata da home.php perché ora è impostata come pagina iniziale del blog.

home.php
è il template per gli ultimi post del blog da tutte le categorie.

È un file di fallback nel caso in cui manchi qualsiasi altro file. L'unico file che non viene catturato da questo fallback è comments.php
.

Questo è ovviamente corretto. Sto parlando di una situazione reale, quando potremmo volere un template personalizzato per la pagina principale, dove usiamo home.php, e una pagina per visualizzare tutti i post, dove in questo caso usare index.php è impossibile - perché index.php reindirizza a home.php e quindi diventa invisibile.
