Sunt „confundat cu index.php
, home.php
și front-page.php
. În multe cazuri, chiar dacă aveam un index.php
, Am suprascris-o cu front-page.php
. Dar recent, am aflat despre home.php
.
- Ce „este diferența dintre
home.php
șiindex.php
? - Care este condiția ideală pentru a utiliza un
home.php
decât unindex.php
? - Care este condiția ideală pentru a utiliza un
front-page.php
? - Când „folosesc un
front-page.php
atunci ce sarcină specifică îmi face unindex.php
atunci?
Am „citit Ierarhia șabloanelor din Codex. Vă rugăm să nu amestecați întrebarea mea cu șabloanele de pagină, le înțeleg, alHamduLILLAH.
Comentarii
- Am primit @rarst cu acest lucru: rarst.net/wordpress/front-page-logic . Vă poate ajuta.
Răspuns
Logica din prima pagină este una dintre cele mai confuze caracteristici din WordPress și este excepțional greu de explicat și rezumat. Așa cum am menționat în comentariu, în timp ce am revenit, am ars o perioadă de timp nesfârșită pentru a-mi crea foaia de trăsături logice a paginii de față pentru aceasta.
Dar, din moment ce este un fir popular, permiteți-mi să încerc să răspund la acele întrebări foarte specifice pe care le-ați avut.
Care este diferența dintre
home.php
șiindex.php
?
home.php
este șablon pentru indexul postărilor (arhivă a tipului de postare nativă, care este un caz special în WP). WP va încerca să caute indexul postărilor, indiferent dacă acestea sunt afișate la rădăcina site-ului sau la pagina dedicată a postărilor.
index.php
este un șablon catch-all. Este alegerea finală în toate ramurile ierarhiei șabloanelor și va fi ales atunci când nu se potrivește altceva, atât pentru arhive, cât și pentru vizualizările singulare.
Numai indexul postărilor poate utiliza home.php
, dar toate celelalte contexte ar putea și vor folosi index.php
.
Care este condiția ideală pentru a utiliza un
home.php
decât unindex.php
Folosiți home.php
pentru a personaliza indexul postărilor.
Utilizați index.php
pentru a furniza cel mai generic șablon din tema dvs., potrivit pentru afișarea a orice.
Unele teme aleg să aibă index.php
și asigurați-vă că au șabloane mai specifice pentru toate cazurile posibile, deci nu trebuie să fie niciodată utilizat.
Ce „este condiția ideală pentru a utiliza un
front-page.php
?
front-page.php
este folosit pentru indexarea postărilor la pagina principală rădăcină sau statică, dacă este activată.
Este un șablon cu prioritate ridicată, deci dacă tema îl are, nu puteți selecta șablonul arbitrar pentru prima pagină statică. Din acest motiv, acesta nu este aproape niciodată inclus în temele lansate public (ceea ce este corect).
Cea mai bună utilizare pentru acesta este în proiectele private, deoarece este mai ușor de configurat decât șablonul de pagină.
Când „folosesc un
front-page.php
atunci ce sarcină specifică oindex.php
face pentru mine atunci?
index.php
este încă un șablon de captură pentru toate celelalte cazuri.
Dacă utilizați prima pagină statică (la care se va aplica front-page.php
), atunci pagina de postări va încerca să utilizeze home.php
și apoi index.php
.
Răspuns
div id = „6d586d70fc”>
este fișierul prima pagină a site-ului . Acesta va fi întotdeauna utilizat pe prima pagină a site-ului dvs., indiferent dacăget_option( "show_on_front" )
este setat lapage
sauposts
.
Fișierul șablon home.php
este indexul postărilor de blog șablon. Acesta va fi întotdeauna utilizat pentru a afișa indexul postărilor de blog, indiferent dacă indexul postărilor de blog este afișat pe prima pagină a site-ului sau pe o altă pagină.
În cazul în care ambele front-page.php
și home.hpp
există și get_option( "show_on_front" )
este setat la posts
(adică, prima pagină a site-ului afișează indexul postărilor pe blog), fișierul front-page.php
va avea prioritate față de fișierul home.php
.
Fișierul index.php
este șablon de rezervă implicit pentru toate contextele din Ierarhia șablonelor . Este folosit vreodată numai dacă nu există un fișier șablon mai specific pentru contextul actual.
Ierarhia șablonului pentru prima pagină a site-ului este:
-
front-page.php
- Dacă
"page" == get_option( "show_on_front" )
: ierarhia paginilor - Dacă
"posts" == get_option( "show_on_front" )
: ierarhia indexului postărilor de blog
Ierarhia șablonului pentru indexul postărilor de blog este:
-
home.php
-
index.php
Ierarhia șablonului pentru pagini este:
- Șablon de pagină personalizat
-
page-{slug}.php
-
page-{id}.php
-
page.php
-
index.php
Comentarii
- Deci, dacă i ‘ am înțeles, ‘ sn nu este posibil să utilizați șablonul
my-template-1
atunci când prima pagină este setată la cele mai recente postări și să utilizațimy-template-2
când partea frontală este setată la o pagină statică ( fără codificare)?
Răspuns
Toate acestea provin dintr-o lectură aprofundată a Ierarhia șablonului .
home.php
este utilizat dacă:
- Site-ul dvs. prima pagină este setată pentru a afișa o listă de postări sau
- Este setată o pagină frontală statică și
- A vizitatorul merge la pagina pe care ați „definit-o ca„ lista dvs. de postări ”(de ex.,
http://example.com/blog/
)
- Și tema are un fișier
home.php
Dacă ultima condiție nu este îndeplinită – adică nu există home.php
fișier în temă – atunci index.php
va fi încărcat.
front-page.php
va fi utilizat dacă :
- Un front static p vârsta este setată și
- Un vizitator merge la pagina pe care „ați definit-o drept„ pagina principală statică ”(de exemplu,
http://example.com/
) și - Tema are un fișier
front-page.php
Dacă ultima condiție nu este îndeplinită – adică, există nu este un fișier front-page.php
în temă – atunci index.php
va fi încărcat.
În rezumat
Dacă doriți să vă personalizați lista de postări, utilizați home.php
.
Dacă doriți să vă personalizați pagina de pornire statică, utilizați front-page.php
.
Comentarii
-
home.php
va fi utilizat pentru indexul postărilor de blog, indiferent de Locație. Dacă prima pagină este setată pentru a afișa indexul postărilor de blog, atunci va fi utilizathome.php
(dacăfront-page.php
nu există).
Răspuns
Pe scurt:
-
index.php
este doar un șablon alternativ, în cazul în care nu a fost găsit un șablon adecvat -
home.php
este utilizat pentru blog (o listă a postărilor recente) -
front-page.php
este utilizat pentru pagina de destinație
Șablonul universal index.php
Fișierul șablon index.php
este un șablon alternativ. Este folosit ca ultimă soluție atunci când nu este disponibil un alt șablon mai adecvat. De exemplu, dacă nu aveți un front-page.php
și nici un home.php
, atunci index.php
Acest lucru este valabil și pentru archive.php
sau single.php
și așa mai departe.
În ceea ce privește front-page.php
VS home.php
Acum diferența dintre front-page.php
și înseamnă că front-page.php
este folosit, așa cum sugerează și numele său, ca prima pagină principală a site-ului, în timp ce home.php
se dorește a fi acasă la secțiunea Blog .
Ce șablon va fi folosit pentru pagina de destinație a site-ului meu?
Șablonul front-page.php
, dacă este prezent, va fi utilizat pentru prima pagină principală a site-ului (de ex. http://www.example.com/
). Dacă nu este prezent, atunci va fi utilizat home.php
. Dacă atât front-page.php
cât și lipsesc fișierele șablon, apoi va fi folosit șablonul index.php
.
Ce șablon va fi folosit pentru pagina blogului meu?
WordPress vă permite să aveți o pagină „Blog” (care va afișa postările recente) pe o altă pagină decât pagina de destinație (de ex. http://www.example.com/blog/
).Deci, dacă acesta este cazul pe site-ul dvs., atunci pagina Blogului va folosi întotdeauna șablonul home.php
. Dacă home.php
nu există, atunci se va utiliza șablonul de rezervă index.php
.
Cum se configurează aterizarea- pagina și pagina blogului?
Pentru a configura ce conținut să afișați pe prima pagină, accesați Administrator WordPress , sub Instrumente> Citirea , puteți configura „ Afișarea paginii din față ” la afișați o pagină statică sau ultimele dvs. postări.
În cazul în care alegeți să afișați o pagină statică pe prima pagină, atunci aveți și posibilitatea de a seta ce pagină să utilizați ca substituent pentru blog pagina (care va folosi șablonul home.php
):
Răspuns
preluat din Ierarhia șablonului WordPress
Afișare pagină de pornire
În mod implicit, WordPress setează pagina principală a site-ului dvs. pentru a afișa cele mai recente postări de blog. Această pagină se numește indexul postărilor pe blog. De asemenea, puteți seta postările de pe blog să fie afișate pe o pagină statică separată. Fișierul șablon home.php este utilizat pentru a reda indexul postărilor de blog, indiferent dacă este utilizat ca pagină de start sau pe o pagină statică separată. Dacă home.php nu există, WordPress va folosi index.php.
- home.php
- index.php
Notă: Dacă există front-page.php, acesta va înlocui șablonul home.php.
Afișare pagină frontală
Fișierul șablon front-page.php este utilizat pentru a reda prima pagină a site-ului dvs., indiferent dacă prima pagină afișează indexul postărilor de blog (menționat mai sus) sau o pagină statică. Șablonul de pe prima pagină are prioritate față de șablonul de indexare a postărilor de blog (home.php). Dacă fișierul front-page.php nu există, WordPress va folosi fișierele home.php sau page.php în funcție de configurare în Setări → Citire. Dacă niciunul dintre aceste fișiere nu există, acesta va utiliza fișierul index.php.
1. front-page.php – Folosit atât pentru „ultimele dvs. postări”, fie pentru „o pagină statică”, așa cum este setat în prima pagină, se afișează secțiunea Setări → Citire.
2. home.php – Dacă WordPress nu găsește front-page.php și „cele mai recente postări” este setat în secțiunea de afișare a paginii, va căuta home.php. În plus, WordPress va căuta acest fișier atunci când pagina de postări este setată în secțiunea de afișare a paginii principale.
3. page.php – Când este setată „prima pagină” în secțiunea afișează prima pagină.
4. index.php – Când „ultimele dvs. postări” sunt setate în prima pagină se afișează secțiunea, dar home.php nu există sau când pagina principală este setată, dar pagina.php nu există .
După cum puteți vedea, există o mulțime de reguli în ceea ce privește calea pe care o parcurge WordPress. Utilizarea graficului de mai sus este cea mai bună modalitate de a determina ce va afișa WordPress.
Răspuns
Am decis să testez ce șablon este utilizat pentru fiecare dintre următoarele pagini atunci când sunt setate opțiunile pentru afișarea diferitelor pagini din față.
- example.net
- example.net/home/
- example.net/blog/
Rezultatele sunt destul de lungi, dar pot fi folosite ca referință sau înșelătorie.
Sursă: Cum funcționează șabloanele front-page.php și home.php diferă în WordPress?
Notă editorului: Am încercat să copiez și să lipesc tabelele aici, dar este necesar un format de marcare în loc de HTML. Vă rugăm să convertiți în markdown dacă puteți.