Jsem opravdu zaměňována s index.php
, home.php
a front-page.php
. V mnoha případech, i když jsem měl index.php
, Přepíšu to front-page.php
. Nedávno jsem se ale dozvěděl o home.php
.
- Co Rozdíl mezi
home.php
aindex.php
? - Jaký je ideální stav pro použití
home.php
nežindex.php
? - Jaký je ideální stav pro použití
front-page.php
? - Když používám
front-page.php
, jaký konkrétní úkol pro měindex.php
dělá pak?
Přečetl jsem Hierarchii šablon v kodexu. Nemíchejte prosím mou otázku s Šablonami stránek, rozumím jim, alHamduLILLAH.
Komentáře
- Dostal jsem @rarst s tímto: rarst.net/wordpress/front-page-logic . Může vám pomoci.
Odpověď
Logika titulní stránky je jednou z nejasnějších funkcí WordPressu a je výjimečně těžké vysvětlit a shrnout. Jak bylo zmíněno v komentáři, zpět jsem spálil neslýchané množství času, abych pro to sestavil svůj úvodní logický podváděcí list .
Ale protože toto je populární vlákno, zkuste mi odpovědět na ty velmi konkrétní otázky, které jste měli.
Jaký je rozdíl mezi
home.php
aindex.php
?
home.php
je šablona pro index příspěvků (archiv nativního typu příspěvku Post, což je ve WP zvláštní případ). WP se pokusí vyhledat index příspěvků, ať už jsou zobrazeny v kořenovém adresáři webu nebo na vyhrazené stránce příspěvků.
index.php
je chytlavá šablona. Je to konečná volba ve všech větvích hierarchie šablon a bude vybrána, když už nic jiného nesedí, jak pro archivy, tak pro singulární zobrazení.
Pouze index příspěvků může používat home.php
, ale všechny jiné kontexty mohou a budou používat index.php
.
Jaký je ideální stav pro použití
home.php
nežindex.php
Pomocí home.php
přizpůsobíte index příspěvků.
Pomocí index.php
poskytnete nejobecnější šablonu ve svém motivu, která je vhodná pro zobrazení čehokoli.
Některá témata mají prázdnou index.php
a ujistěte se, že mají konkrétnější šablony pro všechny možné případy, takže se nikdy nemusí používat.
Co „Ideální stav pro použití
front-page.php
?
front-page.php
se používá pro index příspěvků na kořenové nebo statické titulní stránce, pokud je povolen.
Jedná se o šablonu s vysokou prioritou, takže pokud ji má motiv, nemůžete vybrat libovolnou šablonu pro statickou titulní stránku. Z tohoto důvodu není téměř nikdy zahrnut do veřejně vydávaných témat (což je správné).
Nejlépe se to používá v soukromých projektech, protože je jednodušší jej konfigurovat než šablona stránky.
Když používám
front-page.php
jaký konkrétní úkol jeindex.php
dělá mi to tedy?
index.php
je stále chytit všechny šablony pro všechny ostatní případy.
Pokud používáte statickou titulní stránku (na kterou se bude vztahovat front-page.php
), vaše stránka s příspěvky se pokusí použít home.php
a poté index.php
.
Odpovědět
The front-page.php
je úvodní stránka webu . Vždy se použije na titulní stránce vašeho webu, bez ohledu na to, zda je get_option( "show_on_front" )
nastaven na page
nebo posts
.
Soubor šablony home.php
je index blogových příspěvků šablona. Vždy se použije k zobrazení indexu vašich blogových příspěvků, bez ohledu na to, zda je index blogových příspěvků zobrazen na přední stránce webu nebo na jiné stránce.
V případě, že oba front-page.php
a home.hpp
existují a get_option( "show_on_front" )
je nastaven na posts
(tj. přední stránka webu zobrazuje index blogových příspěvků), soubor front-page.php
bude mít přednost před souborem home.php
.
Soubor index.php
je výchozí záložní šablona pro všechny kontexty v Hierarchii šablon . Používá se pouze v případě, že pro aktuální kontext neexistuje konkrétnější soubor šablony.
Hierarchie šablon pro přední stránku je:
-
front-page.php
- Pokud
"page" == get_option( "show_on_front" )
: hierarchie stránek - pokud
"posts" == get_option( "show_on_front" )
: blogová indexová hierarchie
hierarchie šablon pro index blogových příspěvků je:
-
home.php
-
index.php
Hierarchie šablon pro stránky je:
- Šablona vlastní stránky
-
page-{slug}.php
-
page-{id}.php
-
page.php
-
index.php
Komentáře
- Pokud tedy dostávám toto právo, ‚ sn není možné použít
my-template-1
šablonu, když je přední stránka nastavena na nejnovější příspěvky, a použítmy-template-2
, když je přední nastavena na statickou stránku ( bez kódování)?
Odpověď
To vše pochází z důkladného přečtení Hierarchie šablon .
home.php
se používá, pokud:
- Váš web přední stránka je nastavena tak, aby zobrazovala seznam příspěvků, nebo
- je nastavena statická přední stránka a
- návštěvník přejde na stránku, kterou jste definovali jako svůj „seznam příspěvků“ (např.
http://example.com/blog/
)
- motiv má
home.php
soubor
Pokud poslední podmínka není splněna – tj. neexistuje home.php
soubor v motivu – poté se načte index.php
.
front-page.php
se použije, pokud :
- Statická přední strana věk je nastaven a
- návštěvník přejde na stránku, kterou jste definovali jako svoji „statickou domovskou stránku“ (tj.
http://example.com/
) , a - Téma má
front-page.php
soubor
Pokud poslední podmínka není splněna – tj. existuje není v motivu žádný front-page.php
soubor – poté se načte index.php
.
Souhrn
Chcete-li upravit svůj seznam příspěvků, použijte home.php
.
Chcete-li upravit svou statickou domovskou stránku, použijte front-page.php
.
Komentáře
-
home.php
budou použity pro index blogových příspěvků, bez ohledu na umístění. Pokud je na přední stránce nastaveno zobrazení indexu blogových příspěvků, použije sehome.php
(pokudfront-page.php
neexistuje).
Odpověď
Stručně:
-
index.php
je pouze záložní šablona, pokud nebyla nalezena žádná vhodná šablona -
home.php
je použita pro blog (seznam posledních příspěvků) -
front-page.php
se používá pro vstupní stránku
univerzální index.php
šablona
Soubor šablony index.php
je záložní šablona. Používá se jako poslední možnost, pokud není k dispozici žádná jiná vhodnější šablona. Pokud například nemáte front-page.php
ani home.php
, bude index.php
použít. To platí také pro chybějící archive.php
nebo single.php
atd.
Pokud jde o front-page.php
VS home.php
Nyní je rozdíl mezi front-page.php
a spočívají v tom, že front-page.php
se používá, jak naznačuje jeho název, jako hlavní přední stránka webu, zatímco home.php
má být domovem sekce Blog .
Jaká šablona bude použito pro vstupní stránku mého webu?
Šablona front-page.php
, pokud je k dispozici, bude použita pro hlavní přední stránku webu (např. http://www.example.com/
). Pokud není k dispozici, použije se místo toho home.php
. Pokud front-page.php
a soubory šablon chybí, bude použita index.php
záložní šablona.
Jaká šablona bude použita pro moji stránku blogu?
WordPress vám umožňuje mít stránku „Blog“ (která obsahuje seznam posledních příspěvků) na jiné stránce než na vstupní stránce (např. http://www.example.com/blog/
).Pokud tomu tak je na vašem webu, bude stránka Blog vždy používat šablonu home.php
. Pokud home.php
neexistuje, použije se index.php
záložní šablona.
Jak nakonfigurovat přistávací stránku a stránku blogu?
Chcete-li nakonfigurovat, jaký obsah se má zobrazovat na vaší přední stránce, přejděte do správce WordPress v části Nástroje> Čtení můžete nakonfigurovat „ Zobrazování titulních stránek “ na zobrazit statickou stránku nebo vaše nejnovější příspěvky.
V případě, že se rozhodnete zobrazit statickou stránku na titulní stránce, máte také možnost nastavit, kterou stránku použít jako zástupný symbol pro blog stránka (která bude používat home.php
šablonu):
Odpověď
převzato z Hierarchie šablon WordPressu
zobrazení domovské stránky
Ve výchozím nastavení WordPress nastaví domovskou stránku vašeho webu tak, aby zobrazovala vaše nejnovější příspěvky v blogu. Tato stránka se nazývá index blogových příspěvků. Můžete také nastavit, aby se vaše příspěvky na blogu zobrazovaly na samostatné statické stránce. Soubor šablony home.php se používá k vykreslení indexu blogových příspěvků, ať už se používá jako přední stránka nebo na samostatné statické stránce. Pokud home.php neexistuje, WordPress použije index.php.
- home.php
- index.php
Poznámka: Pokud existuje front-page.php, přepíše šablonu home.php.
Zobrazení titulní stránky
Soubor šablony front-page.php se používá k vykreslení titulní stránky vašeho webu, ať už se na titulní stránce zobrazuje index blogových příspěvků (uvedený výše), nebo statická stránka. Šablona titulní stránky má přednost před šablonou indexu blogových příspěvků (home.php). Pokud soubor front-page.php neexistuje, WordPress použije soubory home.php nebo page.php v závislosti na nastavení v Nastavení → Čtení. Pokud žádný z těchto souborů neexistuje, použije soubor index.php.
1. front-page.php – Používá se pro „vaše nejnovější příspěvky“ nebo „statickou stránku“, jak je nastaveno v části Nastavení titulní stránky → Čtení.
2. home.php – Pokud WordPress nemůže najít front-page.php a v sekci zobrazení titulních stránek jsou nastaveny „vaše nejnovější příspěvky“, bude hledat home.php. WordPress navíc vyhledá tento soubor, když je v sekci zobrazení titulní stránky nastavena stránka příspěvků.
3. page.php – Když je v sekci zobrazení titulních stránek nastavena „titulní stránka“.
4. index.php – Když je v sekci pro zobrazení titulních stránek nastaven „váš poslední příspěvek“, ale home.php neexistuje, nebo když je nastaven titul, ale page.php neexistuje .
Jak vidíte, existuje řada pravidel, jakou cestou se WordPress vydá. Použití výše uvedeného grafu je nejlepší způsob, jak určit, co bude WordPress zobrazovat.
Odpověď
Rozhodl jsem se otestovat která šablona se použije pro každou z následujících stránek, když jsou nastaveny různé možnosti zobrazení přední stránky.
- example.net
- example.net/home/
- example.net/blog/
Výsledky jsou poměrně dlouhé, ale lze je použít jako odkaz nebo podváděcí list.
Zdroj: Jak šablony pro front-page.php a home.php se liší ve WordPressu?
Poznámka pro redaktora: Snažil jsem se zkopírovat a vložit tabulky sem, ale místo HTML je vyžadován formát markdownu. Pokud je to možné, převeďte na markdown.