Ich bin wirklich verwirrt mit index.php
, home.php
und front-page.php
. In vielen Fällen, obwohl ich eine index.php
Ich habe es mit front-page.php
überschrieben. Vor kurzem wurde mir jedoch home.php
bewusst.
- Was „s der Unterschied zwischen
home.php
undindex.php
? - Was ist die ideale Bedingung für die Verwendung eines
home.php
alsindex.php
? - Was ist die ideale Bedingung für die Verwendung einer
front-page.php
? - Wenn ich eine
front-page.php
verwende, welche spezifische Aufgabe erledigt dann eineindex.php
für mich dann?
Ich habe die Vorlagenhierarchie im Codex gelesen. Bitte mischen Sie meine Frage nicht mit Seitenvorlagen, ich verstehe sie, alHamduLILLAH.
Kommentare
- Habe @rarst mit diesem: rarst.net/wordpress/front-page-logic . Kann Ihnen helfen.
Antwort
Die Logik der Startseite ist eine der verwirrendsten Funktionen in WordPress und außergewöhnlich schwer zu erklären und zusammenzufassen. Wie bereits im Kommentar erwähnt, habe ich mir unheilig viel Zeit genommen, um mein Logik-Spickzettel für die Titelseite dafür zusammenzustellen.
Aber seitdem Lassen Sie mich versuchen, die sehr spezifischen Fragen zu beantworten, die Sie hatten.
Was ist der Unterschied zwischen
home.php
undindex.php
?
home.php
ist Vorlage für den Index der Posts (Archiv des nativen Post-Post-Typs, was in WP ein Sonderfall ist). WP versucht, nach dem Index der Posts zu suchen, unabhängig davon, ob diese im Stammverzeichnis der Site oder auf der Seite für dedizierte Posts angezeigt werden.
index.php
ist eine Catch-All-Vorlage. Sie ist die endgültige Auswahl in allen Zweigen der Vorlagenhierarchie und wird ausgewählt, wenn nichts anderes passt, sowohl für Archive als auch für einzelne Ansichten.
Nur der Beitragsindex kann home.php
verwenden, aber alle anderen Kontexte können und werden .
Was ist die ideale Bedingung, um eine
home.php
als eineindex.php
Mit home.php
können Sie den Beitragsindex anpassen.
Sie verwenden index.php
, um die allgemeinste Vorlage in Ihrem Thema bereitzustellen, die für die Anzeige von allem geeignet ist.
Einige Themen haben ein leeres index.php
und stellen Sie sicher, dass sie spezifischere Vorlagen für alle möglichen Fälle haben, sodass sie niemals verwendet werden müssen.
Was „ist die ideale Bedingung, um ein
front-page.php
zu verwenden?
front-page.php
wird für den Beitragsindex im Stammverzeichnis oder auf der statischen Startseite verwendet, sofern aktiviert.
Es handelt sich um eine Vorlage mit hoher Priorität. Wenn das Thema vorhanden ist, können Sie keine beliebige Vorlage für die statische Startseite auswählen. Aus diesem Grund ist es fast nie in öffentlich veröffentlichten Themen enthalten (was korrekt ist).
Die beste Verwendung ist in privaten Projekten, da es einfacher zu konfigurieren ist als Seitenvorlagen.
Wenn ich eine
front-page.php
verwende, welche spezifische Aufgabe dann eineindex.php
tut das dann für mich?
index.php
ist immer noch eine Catch-All-Vorlage für alle anderen Fälle.
Wenn Sie eine statische Startseite verwenden (für die front-page.php
gilt), versucht Ihre Beitragsseite, und dann index.php
.
Antwort
Die front-page.php
ist die Site-Startseite -Vorlage. Es wird immer auf der Startseite Ihrer Site verwendet, unabhängig davon, ob get_option( "show_on_front" )
auf page
oder posts
.
Die home.php
Vorlagendatei ist der Blogpost-Index Vorlage. Es wird immer verwendet, um Ihren Blogpost-Index anzuzeigen, unabhängig davon, ob der Blogpost-Index auf der Startseite der Website oder auf einer anderen Seite angezeigt wird.
In dem Fall, dass beide front-page.php
und home.hpp
existieren, und die get_option( "show_on_front" )
wird auf posts
(dh auf der Startseite der Website wird der Index der Blogposts angezeigt), hat die Datei front-page.php
Vorrang vor der Datei home.php
.
Die Datei index.php
ist die Standard-Fallback-Vorlage für alle Kontexte in der Vorlagenhierarchie . Es wird immer nur verwendet, wenn für den aktuellen Kontext keine spezifischere Vorlagendatei vorhanden ist.
Die Vorlagenhierarchie für die Site-Startseite ist:
-
front-page.php
- Wenn
"page" == get_option( "show_on_front" )
: Seitenhierarchie - Wenn
"posts" == get_option( "show_on_front" )
: Indexhierarchie für Blogposts
Die Vorlagenhierarchie für die Blogposts index lautet:
-
home.php
-
index.php
Die Vorlagenhierarchie für Seiten lautet:
- Benutzerdefinierte Seitenvorlage
-
page-{slug}.php
-
page-{id}.php
-
page.php
-
index.php
Kommentare
- Wenn ich ‚ dies richtig mache, ist es ‚ sn Es ist nicht möglich, die Vorlage
my-template-1
zu verwenden, wenn die Startseite auf die neuesten Beiträge eingestellt ist, undmy-template-2
, wenn die Vorderseite auf eine statische Seite eingestellt ist ( ohne Codierung)?
Antwort
All dies ergibt sich aus einer gründlichen Lektüre der Vorlagenhierarchie .
home.php
wird verwendet, wenn:
- Ihre Site“ s Auf der Startseite wird eine Liste der Beiträge angezeigt, oder
- Eine statische Startseite wird festgelegt und
- A. Der Besucher besucht die Seite, die Sie als Ihre „Liste der Beiträge“ definiert haben (z. B.
http://example.com/blog/
).
home.php
-Datei Wenn die letzte Bedingung nicht erfüllt ist, dh es gibt keine home.php
Datei im Thema – dann wird index.php
geladen.
front-page.php
wird verwendet, wenn :
- Eine statische Front p Alter ist festgelegt und
- Ein Besucher wechselt zu der Seite, die Sie als „statische Startseite“ definiert haben (dh
http://example.com/
). , und - Das Thema hat eine
front-page.php
-Datei
Wenn die letzte Bedingung nicht erfüllt ist – dh dort Ist keine front-page.php
-Datei im Thema – dann wird index.php
geladen.
Zusammenfassend
Wenn Sie Ihre Liste der Beiträge anpassen möchten, verwenden Sie home.php
.
Wenn Sie Ihre statische Homepage anpassen möchten, verwenden Sie front-page.php
.
Kommentare
-
home.php
wird unabhängig davon für den Blogpost-Index verwendet Standort. Wenn auf der Startseite der Blogpost-Index angezeigt wird, wirdhome.php
verwendet (wennfront-page.php
nicht vorhanden ist).
Antwort
Kurz gesagt:
-
index.php
ist nur eine Fallback-Vorlage, falls keine geeignete Vorlage gefunden wurde. -
home.php
wird für das Blog verwendet (eine Liste der letzten Beiträge) -
front-page.php
wird für die Zielseite verwendet.
Die universelle Vorlage index.php
Die index.php
Vorlagendatei ist eine Fallback-Vorlage. Es wird als letzter Ausweg verwendet, wenn keine andere geeignetere Vorlage verfügbar ist. Wenn Sie beispielsweise weder eine front-page.php
noch eine home.php
haben, wird index.php
dies tun Dies gilt auch für fehlende archive.php
oder single.php
usw.
In Bezug auf front-page.php
VS home.php
Nun der Unterschied zwischen front-page.php
und home.php
Vorlagen ist, dass die front-page.php
, wie der Name schon sagt, als Haupt-Startseite der Site verwendet wird, während home.php
soll die Heimat des Abschnitts Blog sein.
Welche Vorlage wird es sein? Wird für die Zielseite meiner Site verwendet?
Die Vorlage front-page.php
, falls vorhanden, wird für die Haupt-Startseite der Site verwendet (z. B. http://www.example.com/
). Wenn nicht vorhanden, wird stattdessen home.php
verwendet. Wenn sowohl front-page.php
als auch Vorlagendateien fehlen, dann wird die index.php
Fallback-Vorlage verwendet.
Welche Vorlage wird für meine Blog-Seite verwendet?
Mit WordPress können Sie eine „Blog“ -Seite (auf der die letzten Beiträge aufgelistet werden) auf einer anderen Seite als der Zielseite (z http://www.example.com/blog/
).Wenn dies auf Ihrer Website der Fall ist, verwendet die Blog-Seite immer die Vorlage home.php
. Wenn home.php
nicht vorhanden ist, wird die Fallback-Vorlage index.php
verwendet.
So konfigurieren Sie die Landung- Seite und Blog-Seite?
Um zu konfigurieren, welche Inhalte auf Ihrer Startseite angezeigt werden sollen, gehen Sie zu WordPress-Administrator , unter Tools> Wenn Sie lesen, können Sie dort die „ Startseitenanzeigen “ konfigurieren Zeigen Sie eine statische Seite oder Ihre neuesten Beiträge an.
Wenn Sie eine statische Seite auf der Startseite anzeigen möchten, können Sie auch festlegen, welche Seite als Platzhalter für das Blog verwendet werden soll Seite (die die Vorlage home.php
verwendet):
Antwort
aus Hierarchie der WordPress-Vorlagen
Startseitenanzeige
Standardmäßig legt WordPress die Startseite Ihrer Website so fest, dass Ihre neuesten Blog-Beiträge angezeigt werden. Diese Seite wird als Blogpost-Index bezeichnet. Sie können Ihre Blog-Beiträge auch so einstellen, dass sie auf einer separaten statischen Seite angezeigt werden. Die Vorlagendatei home.php wird verwendet, um den Index der Blog-Beiträge zu rendern, unabhängig davon, ob er als Startseite oder auf einer separaten statischen Seite verwendet wird. Wenn home.php nicht existiert, verwendet WordPress index.php.
- home.php
- index.php
Hinweis: Wenn front-page.php vorhanden ist, wird die Vorlage home.php überschrieben.
Anzeige der Titelseite
Die Vorlagendatei front-page.php wird zum Rendern der Startseite Ihrer Website verwendet, unabhängig davon, ob auf der Startseite der Blogpost-Index (oben erwähnt) oder eine statische Seite angezeigt wird. Die Titelseitenvorlage hat Vorrang vor der Indexvorlage für Blogposts (home.php). Wenn die Datei front-page.php nicht vorhanden ist, verwendet WordPress je nach Einrichtung unter Einstellungen → Lesen entweder die Dateien home.php oder page.php. Wenn keine dieser Dateien vorhanden ist, wird die Datei index.php verwendet.
1. front-page.php – Wird sowohl für „Ihre neuesten Beiträge“ als auch für „eine statische Seite“ verwendet, wie auf der Titelseite unter „Einstellungen → Lesen“ festgelegt.
2. home.php – Wenn WordPress die Datei front-page.php nicht finden kann und „Ihre neuesten Beiträge“ im Abschnitt „Anzeigen der Startseite“ festgelegt ist, wird nach home.php gesucht. Darüber hinaus sucht WordPress nach dieser Datei, wenn die Beitragsseite im Abschnitt zur Anzeige der Startseite festgelegt ist.
3. page.php – Wenn im Abschnitt „Startseite“ die Option „Startseite“ festgelegt ist.
4. index.php – Wenn „Ihre neuesten Beiträge“ in der Startseite angezeigt wird, wird der Abschnitt angezeigt, aber home.php ist nicht vorhanden oder wenn die Startseite festgelegt ist, aber page.php nicht vorhanden ist .
Wie Sie sehen können, gibt es viele Regeln für den Weg, den WordPress einschlägt. Die Verwendung des obigen Diagramms ist der beste Weg, um zu bestimmen, was WordPress anzeigt.
Antwort
Ich habe mich zum Testen entschlossen Welche Vorlage wird für jede der folgenden Seiten verwendet, wenn die verschiedenen Anzeigeoptionen für die Startseite festgelegt sind.
- example.net
- example.net/home/
- example.net/blog/
Die Ergebnisse sind ziemlich lang, können aber als Referenz oder Spickzettel verwendet werden.
angezeigt. Quelle: Wie funktioniert das? Die Vorlagen für front-page.php und home.php unterscheiden sich in WordPress?
Hinweis für den Editor: Ich habe versucht, die Tabellen hier zu kopieren und einzufügen, aber anstelle von HTML ist ein Markdown-Format erforderlich. Bitte konvertieren Sie in Markdown, wenn Sie können.