Jeg er virkelig forvirret med index.php, home.php og front-page.php. I mange tilfeller, selv om jeg hadde en index.php, Jeg overskriver den med front-page.php. Men nylig ble jeg klar over home.php.

  • Hva «er forskjellen mellom home.php og index.php?
  • Hva er den ideelle tilstanden for å bruke en home.php enn en index.php?
  • Hva er den ideelle tilstanden for å bruke en front-page.php?
  • Når jeg bruker en front-page.php, hvilken spesifikk oppgave en index.php gjør for meg da?

Jeg har lest Malhierarki i Codex. Ikke bland spørsmålet mitt med sidemaler. Jeg forstår dem, alHamduLILLAH.

Kommentarer

Svar

Forsides logikk er en av de mest forvirrende funksjonene i WordPress og er eksepsjonelt vanskelig å forklare og oppsummere. Som nevnt i kommentaren mens jeg var tilbake, brente jeg uhellig tid til å sette sammen forsiden logisk jukseark for det.

Men siden dette er en populær tråd, la meg prøve å svare på de helt spesifikke spørsmålene du hadde.

Hva er forskjellen mellom home.php og index.php?

home.php er mal for innleggsindeks (arkiv av innfødt innleggstype, som er et spesielt tilfelle i WP). WP vil prøve å slå opp for indeks over innlegg, enten de vises på roten av nettstedet eller på dedikerte innleggssider. / p>

index.php er fangst-alt-mal. Det er endelige valg i alle grener av malhierarkiet og vil bli plukket når ingenting annet passer, for både arkiver og entallvisninger.

Bare innleggsindeksen kan bruke home.php, men alle andre sammenhenger kan og vil bruke index.php.

Hva er den ideelle tilstanden for å bruke en home.php enn en index.php

Du bruker home.php for å tilpasse innleggsindeksen.

Du bruker index.php for å gi den mest generiske malen i temaet ditt, og som passer til visning av hva som helst.

Noen temaer velger å ha tom index.php og sørge for at de har mer spesifikke maler for alle mulige tilfeller, så det trenger aldri å brukes.

Hva «er den ideelle forutsetningen for å bruke en front-page.php?

front-page.php brukes til innleggsindeks på roten eller den statiske forsiden, hvis aktivert.

Det er en mal med høy prioritet, så hvis temaet har det, kan du ikke velge vilkårlig mal for den statiske forsiden. Av den grunn er det nesten aldri inkludert i offentlig frigitte temaer (som er riktig).

Den beste bruken for det er i private prosjekter, siden det er lettere å konfigurere enn sidemal.

Når jeg bruker en front-page.php så hvilken spesifikk oppgave en index.php gjør for meg da?

index.php er fortsatt en fangst-mal for alle andre tilfeller.

Hvis du bruker statisk forside (som front-page.php gjelder for), vil innleggssiden din prøve å bruke home.php og deretter index.php.

Svar

front-page.php filen er nettstedets forside mal. Det vil alltid brukes på forsiden av nettstedet ditt, uavhengig av om get_option( "show_on_front" ) er satt til page eller posts.

home.php malfilen er blogginnleggsindeks mal. Den vil alltid bli brukt til å vise indeksene for blogginnleggene dine, uavhengig av om blogginnleggsindeksen vises på nettstedets forside eller på en annen side.

I tilfelle at begge front-page.php og home.hpp eksisterer, og get_option( "show_on_front" ) er satt til posts (dvs. at nettstedets forside viser blogginnleggsindeksen), vil front-page.php -filen gå foran home.php -filen.

index.php -filen er standard reservemal for alle sammenhenger i Malhierarki . Den brukes bare noen gang hvis en mer spesifikk malfil ikke eksisterer for den gjeldende konteksten.

Malhierarkiet for nettstedets forside er:

  • front-page.php
  • Hvis "page" == get_option( "show_on_front" ): sidehierarki
  • Hvis "posts" == get_option( "show_on_front" ): blogginnlegg indekshierarki

Malhierarkiet for blogginnlegg indeks er:

  • home.php
  • index.php

Malhierarkiet for sider er:

  • Tilpasset sidemal
  • page-{slug}.php
  • page-{id}.php
  • page.php
  • index.php

Kommentarer

  • Så hvis jeg ‘ får dette riktig, ‘ sn det er ikke mulig å bruke my-template-1 mal når forsiden er satt til siste innlegg og bruke my-template-2 når forsiden er satt til en statisk side ( uten koding)?

Svar

Alt dette kommer fra en grundig lesing av Malhierarki .

home.php brukes hvis:

  • Nettstedet ditt forsiden er satt til å vise en liste over innlegg, eller
  • Og temaet har en home.php -fil

Hvis den siste betingelsen ikke er oppfylt – dvs. at det ikke er home.php -filen i temaet – så lastes index.php.

front-page.php :

  • En statisk front p alder er satt , og
  • En besøkende går til siden du har definert som din «statiske startside» (dvs. http://example.com/) , og
  • Temaet har en front-page.php -fil

Hvis den siste betingelsen ikke oppfylles – dvs. der er ingen front-page.php -fil i temaet – så lastes index.php.

Oppsummert

Hvis du vil tilpasse listen over innlegg, bruk home.php.
Hvis du vil tilpasse den statiske hjemmesiden din, bruk front-page.php.

Kommentarer

  • home.php vil bli brukt til blogginnleggsindeksen, uansett plassering. Hvis forsiden er satt til å vise indeksen for blogginnlegg, vil home.php bli brukt (hvis front-page.php ikke eksisterer).

Svar

Kort sagt:

  • index.php er bare en reservemal, i tilfelle ingen passende mal ble funnet
  • home.php brukes til bloggen (en liste over nylige innlegg)
  • front-page.php brukes til destinasjonssiden

Den universelle index.php malen

index.php malfilen er en reservemal. Den brukes som en siste utvei når ingen andre mer passende mal er tilgjengelig. Hvis du for eksempel ikke har front-page.php eller home.php, vil index.php brukes. Dette gjelder også for manglende archive.php eller single.php og så videre.

Angående front-page.php VS home.php

Nå er forskjellen mellom front-page.php og home.php maler er at front-page.php brukes, som navnet antyder, som hovedsiden på nettstedet, mens home.php er ment å være hjemmet til Blogg -seksjonen.

Hvilken mal vil være brukt til siden min landingsside?

front-page.php -malen, hvis den er tilstede, vil bli brukt til nettstedets hovedside (f.eks. http://www.example.com/). Hvis den ikke er tilstede, vil home.php brukes i stedet. Hvis både front-page.php og malfiler mangler, så vil index.php reservemal bli brukt.

Hvilken mal vil bli brukt til bloggsiden min?

WordPress lar deg ha en «Blog» -side (som vil vise nylige innlegg) på en annen side enn destinasjonssiden (f.eks. http://www.example.com/blog/).Så hvis dette er tilfelle på nettstedet ditt, vil bloggsiden alltid bruke home.php -malen. Hvis home.php ikke eksisterer, vil index.php reservemalen brukes.

Slik konfigurerer du landings- side og bloggside?

For å konfigurere hvilket innhold som skal vises på forsiden din, gå til WordPress-administrator , under Verktøy> Lesing , der kan du konfigurere « Forsiden vises » til vis en statisk side eller de siste innleggene dine.

Hvis du velger å vise en statisk side på forsiden, har du også muligheten til å angi hvilken side du vil bruke som plassholder for bloggen side (som bruker home.php malen):

skriv inn bildebeskrivelse her

Svar

hentet fra WordPress malhierarki

Startsidevisning

Som standard setter WordPress nettstedets hjemmeside til å vise de siste blogginnleggene dine. Denne siden kalles blogginnleggsindeksen. Du kan også angi at blogginnleggene skal vises på en egen statisk side. Malfilen home.php brukes til å gjengi indeksene for blogginnlegg, enten den brukes som forsiden eller på en separat statisk side. Hvis home.php ikke eksisterer, bruker WordPress index.php.

  1. home.php
  2. index.php

Merk: Hvis front-page.php eksisterer, vil den overstyre home.php-malen.

Visning av forsiden

Forsiden.php malfilen brukes til å gjengi nettstedets forside, enten forsiden viser blogginnleggsindeksen (nevnt ovenfor) eller en statisk side. Forsidemalen har forrang for indeksmalen for blogginnlegg (home.php). Hvis front-page.php-filen ikke eksisterer, vil WordPress enten bruke home.php- eller page.php-filene, avhengig av oppsettet i Innstillinger → Lesing. Hvis ingen av disse filene eksisterer, vil den bruke index.php-filen.

1. front-page.php – Brukes for både «dine siste innlegg» eller «en statisk side» som angitt på forsiden, viser delen av Innstillinger → Lesing.

2. home.php – Hvis WordPress ikke finner front-page.php og «dine siste innlegg» er angitt i forsideens visningsdel, vil den se etter home.php. I tillegg vil WordPress se etter denne filen når innleggssiden er angitt i seksjonen på forsiden.

3. page.php – Når «forsiden» er angitt på forsiden, vises seksjonen.

4. index.php – Når “dine siste innlegg” er angitt på forsiden, vises delen, men home.php eksisterer ikke, eller når forsiden er angitt, men page.php ikke eksisterer .

Som du kan se, er det mange regler for hvilken vei WordPress tar. Å bruke diagrammet ovenfor er den beste måten å finne ut hva WordPress vil vise.

Malhierarkidiagram: Wordpress malhierarki

Svar

Jeg bestemte meg for å teste hvilken mal som brukes for hver av de følgende sidene når de forskjellige forside viser alternativer er angitt.

  • eksempel.net
  • eksempel.net/home/
  • eksempel.net/blog/

Resultatene er ganske lange, men kan brukes som referanse eller jukseark.

Forsiden vises

Kilde: Hvordan gjør malene på front-page.php og home.php er forskjellige i WordPress?

Merknad til redaktøren: Jeg prøvde å kopiere og lime inn tabellene her, men markdown-format kreves i stedet for HTML. Konverter til markdown hvis du kan.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *