Jag är verkligen förvirrad med index.php, home.php och front-page.php. I många fall trots att jag hade en index.php, Jag skriver över den med front-page.php. Men nyligen blev jag medveten om home.php.

  • Vad ”är skillnaden mellan home.php och index.php?
  • Vad är det perfekta villkoret för att använda en home.php än en index.php?
  • Vad är det perfekta villkoret för att använda en front-page.php?
  • När jag använder en front-page.php vilken specifik uppgift gör en index.php för mig då?

Jag har läst Mallhierarki i Codex. Blanda inte min fråga med sidmallar, jag förstår dem, alHamduLILLAH.

Kommentarer

Svar

Logiken på förstasidan är en av de mest förvirrande funktionerna i WordPress och är exceptionellt svårt att förklara och sammanfatta. Som nämnts i kommentaren för tillfället brände jag ohelig tid för att sätta ihop mitt förstasideslogikfuskark för det.

Men eftersom detta är en populär tråd, låt mig försöka svara på de mycket specifika frågorna du hade.

Vad är skillnaden mellan home.php och index.php?

home.php är mall för inläggsindex (arkiv med inhemsk inläggstyp, vilket är ett speciellt fall i WP). WP kommer att försöka leta upp det efter inläggsindex, oavsett om de visas i roten på webbplatsen eller på sidan för dedikerade inlägg.

index.php är catch-all-mall. Det är slutgiltiga val i alla grenar av mallhierarkin och kommer att väljas när inget annat passar, för både arkiv och singularvyer.

Endast inläggsindex kan använda home.php, men alla andra sammanhang kan och kommer att använda index.php.

Vad är det perfekta villkoret för att använda en home.php än en index.php

Du använder home.php för att anpassa inläggsindex.

Du använder index.php för att tillhandahålla den mest generiska mallen i ditt tema, lämplig för visning av vad som helst.

Vissa teman väljer att ha tom index.php och se till att de har mer specifika mallar för alla möjliga fall, så det behöver aldrig användas.

Vad ”är det perfekta villkoret för att använda en front-page.php?

front-page.php används för inläggsindex vid roten eller den statiska förstasidan, om den är aktiverad.

Det är en mall med hög prioritet, så om temat har det kan du inte välja godtycklig mall för statisk förstasida. Av denna anledning ingår det nästan aldrig i offentligt släppta teman (vilket är korrekt).

Den bästa användningen för det är i privata projekt, eftersom det är lättare att konfigurera än sidmall.

När jag använder en front-page.php vilken specifik uppgift en index.php gör för mig då?

index.php är fortfarande en fångstmall för alla andra fall.

Om du använder statisk förstasida (som front-page.php gäller) kommer din inläggssida att försöka använda home.php och sedan index.php.

Svar

front-page.php filen är webbplatsens första sida mall. Den kommer alltid att användas på din webbplats förstasida, oavsett om get_option( "show_on_front" ) är inställt på page eller posts.

home.php mallfilen är blogginläggsindex mall. Den kommer alltid att användas för att visa ditt blogginläggsindex, oavsett om blogginläggsindex visas på webbplatsens förstasida eller på en annan sida.

Om båda front-page.php och home.hpp finns, och get_option( "show_on_front" ) är inställd på posts (dvs. webbplatsens framsida visar blogginläggsindex), front-page.php -filen har företräde framför home.php -filen.

index.php -filen är standard reservmall för alla sammanhang i Mallhierarki . Det används bara om det inte finns en mer specifik mallfil för det aktuella sammanhanget.

Mallhierarkin för webbplatsens första sida är:

  • front-page.php
  • Om "page" == get_option( "show_on_front" ): sidhierarki
  • Om "posts" == get_option( "show_on_front" ): blogginlägg indexhierarki

Mallhierarkin för blogginläggsindex är:

  • home.php
  • index.php

Mallhierarkin för sidor är:

  • Anpassad sidmall
  • page-{slug}.php
  • page-{id}.php
  • page.php
  • index.php

Kommentarer

  • Så om jag ’ får det rätt, så ’ sn det är inte möjligt att använda my-template-1 mall när förstasidan är inställd på senaste inlägg och använda my-template-2 när fronten är inställd på en statisk sida ( utan kodning??

Svar

Allt detta kommer från en grundlig läsning av Mallhierarki .

home.php används om:

  • Din webbplats” s förstasidan är inställd på att visa en lista med inlägg, eller
  • Och temat har en home.php -fil

Om det sista villkoret inte uppfylls – dvs. det finns ingen home.php -fil i temat – då laddas index.php.

front-page.php :

Om det sista villkoret inte uppfylls – dvs där är ingen front-page.php -fil i temat – då laddas index.php.

Sammanfattningsvis

Om du vill anpassa din lista över inlägg använder du home.php.
Om du vill anpassa din statiska hemsida använder du front-page.php.

Kommentarer

  • home.php kommer att användas för blogginläggsindex, oavsett plats. Om förstasidan är inställd på att visa blogginläggsindex kommer home.php att användas (om front-page.php inte finns).

Svar

Kort sagt:

  • index.php är endast en reservmall, om ingen lämplig mall hittades
  • home.php används för bloggen (en lista över senaste inlägg)
  • front-page.php används för målsidan

Den universella index.php -mallen

Mallfilen index.php är en reservmall. Det används som en sista utväg när ingen annan lämplig mall finns tillgänglig. Om du till exempel inte har front-page.php eller home.php kommer index.php används. Detta gäller också för att sakna archive.php eller single.php och så vidare.

När det gäller front-page.php VS home.php

Nu är skillnaden mellan front-page.php och home.php mallar är att front-page.php används, som namnet antyder, som webbplatsens huvudsida, medan home.php är tänkt att vara hem för Blogg avsnitt.

Vilken mall kommer att vara används för min webbplats ”målsida?

front-page.php -mallen, om den finns, kommer att användas för webbplatsens huvudsida (t.ex. http://www.example.com/). Om det inte finns, används home.php istället. Om både front-page.php och mallfiler saknas då kommer index.php reservmallen att användas.

Vilken mall kommer att användas för min bloggsida?

WordPress låter dig ha en ”Blogg” -sida (som kommer att visa de senaste inläggen) på en annan sida än målsidan (t.ex. http://www.example.com/blog/).Så om så är fallet på din webbplats kommer bloggsidan alltid att använda mallen home.php. Om home.php inte finns kommer

reservmallen att användas.

Hur man konfigurerar landnings- sida och bloggsida?

För att konfigurera vilket innehåll som ska visas på din första sida, gå till WordPress Admin , under Verktyg> Läsning av , där kan du konfigurera ” Framsidan visas ” till visa en statisk sida eller dina senaste inlägg.

Om du väljer att visa en statisk sida på förstasidan har du också möjlighet att ställa in vilken sida som ska användas som platshållare för bloggen sida (som använder home.php -mallen):

ange bildbeskrivning här

Svar

hämtat från WordPress-mallhierarki

Hemsidevisning

Som standard ställer WordPress in webbplatsens webbplats för att visa dina senaste blogginlägg. Denna sida kallas index för blogginlägg. Du kan också ställa in att dina blogginlägg ska visas på en separat statisk sida. Mallfilen home.php används för att återge blogginläggsindex, oavsett om den används som förstasida eller på separat statisk sida. Om home.php inte finns använder WordPress index.php.

  1. home.php
  2. index.php

Obs! Om front-page.php finns, kommer den att åsidosätta home.php-mallen.

Framsidan

Mallfilen på front-page.php används för att återge webbplatsens förstasida, oavsett om förstasidan visar blogginläggsindex (nämns ovan) eller en statisk sida. Förstasidesmallen har företräde framför mallen för blogginläggsindex (home.php). Om front-page.php-filen inte finns, använder WordPress antingen home.php- eller page.php-filerna beroende på inställningen i Inställningar → Läsning. Om ingen av dessa filer finns använder den index.php-filen.

1. front-page.php – Används för både ”dina senaste inlägg” eller ”en statisk sida” enligt inställningarna på förstasidan visar avsnittet Inställningar → Läsning.

2. home.php – Om WordPress inte kan hitta front-page.php och ”dina senaste inlägg” är inställda i avsnittet på förstasidan visas det efter home.php. Dessutom kommer WordPress att leta efter den här filen när inläggssidan är inställd på förstasidan visar avsnittet.

3. page.php – När ”förstasidan” är inställd på förstasidan visas avsnittet.

4. index.php – När ”dina senaste inlägg” är inställd på förstasidan visas avsnittet men home.php finns inte eller när förstasidan är inställd men page.php inte finns .

Som du kan se finns det många regler för vilken väg WordPress tar. Att använda diagrammet ovan är det bästa sättet att avgöra vad WordPress ska visa.

Mallhierarkidiagram: Wordpressmallhierarki

Svar

Jag bestämde mig för att testa vilken mall som används för var och en av följande sidor när de olika alternativen för förstasidan visas är inställda.

  • exempel.net
  • exempel.net/home/
  • exempel.net/blog/

Resultaten är ganska långa men kan användas som referens eller fuskblad.

Framsidan visas

Källa: Hur gör mallarna på front-page.php och home.php skiljer sig åt i WordPress?

Anmärkning till redaktören: Jag försökte kopiera och klistra in tabellerna här men markdown-format krävs istället för HTML. Konvertera till markdown om du kan.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *