Jeg er virkelig forvirret med index.php, home.php og front-page.php. I mange tilfælde, selvom jeg havde en index.php, Jeg overskriver det med front-page.php. Men for nylig blev jeg opmærksom på home.php.

  • Hvad “er forskellen mellem home.php og index.php?
  • Hvad er den ideelle betingelse for at bruge en home.php end en index.php?
  • Hvad er den ideelle betingelse for at bruge en front-page.php?
  • Når jeg bruger en front-page.php hvilken specifik opgave gør en index.php for mig så?

Jeg har læst Skabelonhierarki i Codex. Bland ikke mit spørgsmål med sideskabeloner, jeg forstår dem, alHamduLILLAH.

Kommentarer

Svar

Forsides logik er en af de mest forvirrende funktioner i WordPress og er usædvanligt svært at forklare og opsummere. Som nævnt i kommentaren, mens jeg var tilbage, brændte jeg uhellig tid til at sammensætte mit forsides logiske snydeark til det.

Men siden dette er en populær tråd, lad mig prøve at besvare de meget specifikke spørgsmål, du havde.

Hvad er forskellen mellem home.php og index.php?

home.php er skabelon til indlæg til indlæg (arkiv med indfødt indlægstype, hvilket er et særligt tilfælde i WP). WP vil forsøge at finde det efter indeks over indlæg, uanset om de vises ved roden af webstedet eller på siden med dedikerede indlæg.

index.php er fangst-alt-skabelon. Det er endelige valg i alle grene af skabelonhierarkiet og vælges, når intet andet passer til både arkiver og entalvisninger.

Kun indlæg med indlæg kan bruge home.php, men alle andre sammenhænge kan og vil bruge index.php.

Hvad er den ideelle betingelse for at bruge en home.php end en index.php

Du bruger home.php til at tilpasse indlægsindeks.

Du bruger index.php til at give den mest generiske skabelon i dit tema, der er velegnet til visning af alt.

Nogle temaer vælger at have tom index.php og sikre, at de har mere specifikke skabeloner til alle mulige tilfælde, så det behøver aldrig at blive brugt.

Hvad “er den ideelle betingelse for at bruge en front-page.php?

front-page.php bruges til indlæg med indlæg på rod- eller statisk forside, hvis det er aktiveret.

Det er en skabelon med høj prioritet, så hvis temaet har det, kan du ikke vælge vilkårlig skabelon til statisk forside. Af denne grund er det næsten aldrig inkluderet i offentligt frigivne temaer (hvilket er korrekt).

Den bedste anvendelse til det er i private projekter, da det er lettere at konfigurere end sideskabelon.

Når jeg bruger en front-page.php hvilken specifik opgave en index.php gør for mig så?

index.php er stadig en fangst-alt-skabelon i alle andre tilfælde.

Hvis du bruger statisk forside (som front-page.php gælder for), vil din indlægsside prøve at bruge home.php og derefter index.php.

Svar

front-page.php filen er webstedsforsiden . Det vil altid blive brugt på dit websteds forside, uanset om get_option( "show_on_front" ) er indstillet til page eller posts.

home.php skabelonfilen er blogindlæg skabelon. Det bruges altid til at vise dit blogindlægs indeks, uanset om blogindlægsindekset vises på webstedets forside eller på en anden side.

I tilfælde af at begge front-page.php og home.hpp findes, og get_option( "show_on_front" ) er indstillet til posts (dvs. webstedsforsiden viser blogindlægsindekset), front-page.php -filen har forrang for home.php -filen.

index.php -filen er standard fallback-skabelon til alle sammenhænge i Skabelonhierarki . Det bruges kun nogensinde, hvis der ikke findes en mere specifik skabelonfil til den aktuelle kontekst.

Skabelonhierarkiet for webstedsforsiden er:

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

Skabelonhierarkiet for blogindlæg indeks er:

  • home.php
  • index.php

Skabelonhierarkiet for sider er:

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

Kommentarer

  • Så hvis jeg ‘ får dette til rette, så ‘ sn det er ikke muligt at bruge skabelonen my-template-1, når forsiden er indstillet til de seneste indlæg og bruge my-template-2, når fronten er indstillet til en statisk side ( uden kodning)?

Svar

Alt dette kommer fra en grundig læsning af Skabelonhierarki .

home.php bruges, hvis:

  • Dit websted” s forsiden er indstillet til at vise en liste over indlæg, eller
  • Og tema har en home.php -fil

Hvis den sidste betingelse ikke er opfyldt – dvs. der er ingen home.php -fil i temaet – så indlæses index.php.

front-page.php vil blive brugt :

Hvis den sidste betingelse ikke er opfyldt – dvs. der er ingen front-page.php fil i temaet – så indlæses index.php.

Sammenfattende

Hvis du vil tilpasse din liste over indlæg, skal du bruge home.php.
Hvis du vil tilpasse din statiske startside, skal du bruge front-page.php.

Kommentarer

  • home.php vil blive brugt til blogindlægsindekset, uanset Beliggenhed. Hvis forsiden er indstillet til at vise blogindlægsindekset, anvendes home.php (hvis front-page.php ikke findes).

Svar

Kort sagt:

  • index.php er kun en reserveskabelon, hvis der ikke blev fundet nogen passende skabelon
  • home.php bruges til bloggen (en liste over de seneste indlæg)
  • front-page.php bruges til destinationssiden

Den universelle index.php skabelon

index.php skabelonfilen er en reserveskabelon. Det bruges som en sidste udvej, når ingen anden mere passende skabelon er tilgængelig. Hvis du f.eks. Ikke har en front-page.php eller en home.php, vil index.php bruges. Dette gælder også for manglende archive.php eller single.php og så videre.

Med hensyn til front-page.php VS home.php

Nu er forskellen mellem front-page.php og home.php skabeloner er, at front-page.php bruges, som navnet antyder, som websteds hovedforside, mens home.php er beregnet til at være hjemmet til sektionen Blog .

Hvilken skabelon vil være brugt til mit websteds landingsside?

front-page.php -skabelonen, hvis den er til stede, vil blive brugt til webstedets hovedforside (f.eks. http://www.example.com/). Hvis den ikke er til stede, bruges home.php i stedet. Hvis både front-page.php og skabelonfiler mangler, så anvendes index.php reserveskabelon.

Hvilken skabelon vil blive brugt til min blogside?

WordPress giver dig mulighed for at have en “Blog” -side (som viser nylige indlæg) på en anden side end destinationssiden (f.eks. http://www.example.com/blog/).Så hvis dette er tilfældet på dit websted, bruger blogsiden altid skabelonen home.php. Hvis home.php ikke findes, bruges index.php reserveskabelon.

Sådan konfigureres landings- side og blogside?

For at konfigurere hvilket indhold der skal vises på din forside, skal du gå til WordPress-administrator , under Værktøjer> Læsning , der kan du konfigurere “ Forside vises ” til vis en statisk side eller dine seneste indlæg.

Hvis du vælger at vise en statisk side på forsiden, har du også muligheden for at indstille, hvilken side der skal bruges som pladsholder for bloggen side (som bruger skabelonen home.php):

indtast billedbeskrivelse her

Svar

taget fra WordPress-skabelonhierarki

Startsidevisning

Som standard indstiller WordPress dit websteds startside til at vise dine seneste blogindlæg. Denne side kaldes indlæg for blogindlæg. Du kan også indstille dine blogindlæg til at blive vist på en separat statisk side. Skabelonfilen home.php bruges til at gengive blogindlægsindekset, uanset om det bruges som forsiden eller på en separat statisk side. Hvis home.php ikke findes, bruger WordPress index.php.

  1. home.php
  2. index.php

Bemærk: Hvis front-page.php findes, tilsidesætter den home.php-skabelonen.

Visning af forsiden

Front-page.php-skabelonfilen bruges til at gengive dit websteds forside, uanset om forsiden viser blogindlægsindekset (nævnt ovenfor) eller en statisk side. Forsideskabelonen har forrang over blogindlægsindeks (home.php) skabelon. Hvis forsiden.php-filen ikke findes, bruger WordPress enten home.php- eller page.php-filerne afhængigt af opsætningen i Indstillinger → Læsning. Hvis ingen af disse filer findes, bruger den index.php-filen.

1. front-page.php – Bruges til både “dine seneste indlæg” eller “en statisk side” som angivet på forsiden viser sektion af Indstillinger → Læsning.

2. home.php – Hvis WordPress ikke kan finde front-page.php og “dine seneste indlæg” er indstillet i afsnittet om forsiden, ser det efter home.php. Derudover vil WordPress se efter denne fil, når indlægssiden er indstillet i afsnittet om forsiden.

3. page.php – Når “forsiden” er indstillet på forsiden, vises sektionen.

4. index.php – Når “dine seneste indlæg” er indstillet på forsiden, vises sektionen, men home.php findes ikke, eller når forsiden er indstillet, men page.php findes ikke .

Som du kan se, er der mange regler for, hvilken vej WordPress tager. Brug af diagrammet ovenfor er den bedste måde at bestemme, hvad WordPress vil vise.

Skabelonhierarkidiagram: Wordpress skabelon hierarki

Svar

Jeg besluttede at teste hvilken skabelon der bruges til hver af de følgende sider, når de forskellige forside viser muligheder er indstillet.

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

Resultaterne er ret lange, men kan bruges som reference eller snydeark.

Forside vises

Kilde: Hvordan gør front-page.php og home.php skabeloner adskiller sig i WordPress?

Bemærk til editor: Jeg forsøgte at kopiere og indsætte tabellerne her, men markdown-format kræves i stedet for HTML. Konverter til markdown, hvis du kan.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *