Vorlagenhierarchie: verwechselt mit index.php, front-page.php, home.php
-
-
Habe @rarst damit: https://www.rarst.net/wordpress/front-page-logic/.Kann dir helfen.Got @rarst with this: https://www.rarst.net/wordpress/front-page-logic/. May help you.
- 1
- 2016-05-17
- Mayeenul Islam
-
6 Antworten
- Stimmen
-
- 2016-08-26
Die Logik der Startseiteisteine der verwirrendsten Funktionenin WordPress und außerordentlich schwer zuerklären und zusammenzufassen. Wiebereitsim Kommentarerwähnt,habeichmir unheilig viel Zeitgenommen,ummeinen Logik-Cheat auf der Titelseite zusammenzustellen Blatt dafür.
Da diesjedochein beliebter Threadist,möchteich versuchen,die sehr spezifischen Fragen zubeantworten,die Sie hatten.
Wasist der Unterschied zwischen
home.php
undindex.php
?home.php
isteine Vorlagefür den Posts-Index (Archiv desnativen Post-Post-Typs,wasin WPein Sonderfallist). WP wird versuchen,nach dem Index der Beiträge zu suchen,unabhängig davon,ob dieseim Stammverzeichnis der Website oder auf der Seitefür dedizierte Beiträge angezeigt werden.index.php
isteine Catch-All-Vorlage. Esist dieendgültige Auswahlin allen Zweigen der Vorlagenhierarchie und wird ausgewählt,wennnichts anderespasst,sowohlfür Archive als auchfüreinzelne Ansichten.Nur der Posts-Index kann
home.php
verwenden,aber alle anderen Kontexte können und werdenindex.php
verwenden.Wasist dieideale Voraussetzung,umeine
zu verwendenhome.php
alseineindex.php
Sie verwenden
home.php
,um den Beitragsindex anzupassen.Sie verwenden
index.php
,um die allgemeinste Vorlagein Ihrem Themabereitzustellen,diefür die Anzeige von allemgeeignet ist.Einige Themen habeneine leere
index.php
und stellen sicher,dass sie spezifischere Vorlagenfür allemöglichen Fälle haben,sodass sieniemals verwendet werdenmüssen.Wasist dieideale Voraussetzungfür die Verwendungeiner
front-page.php
?front-page.php
wirdfür den Index der Beiträgeim Stammverzeichnis oder auf der statischen Startseite verwendet,sofern aktiviert.Es handelt sich umeine Vorlagemit hoher Priorität. Wenn das Thema vorhandenist,können Sie keinebeliebige Vorlagefür die statische Startseite auswählen. Aus diesem Grundistesfastnie in öffentlich veröffentlichten Themenenthalten (was richtigist).
Diebeste Verwendungistin privaten Projekten,daeseinfacher zu konfigurierenist alseine Seitenvorlage.
Wennicheine
front-page.php
verwende,welche spezifische Aufgabeerledigt danneineindex.php
fürmich?index.php
ist immernoch eine Vorlagefür alle anderen Fälle.Wenn Sieeine statische Startseite verwenden (für die
front-page.php
gilt),versucht Ihre Beitragsseite,home.php
und dannindex.php
.Front page logic is one of the most confusing features in WordPress and is exceptionally hard to explain and summarize. As mentioned in comment while back I burnt unholy amount of time to put together my front page logic cheat sheet for it.
But since this is a popular thread let me try to answer those very specific questions you had.
What's the difference between the
home.php
andindex.php
?home.php
is template for posts index (archive of native Post post type, which is a special case in WP). WP will attempt to look it up for index of posts, whether they are displayed at the root of the site or at dedicated posts page.index.php
is catch–all template. It is final choices in all branches of template hierarchy and will be picked when nothing else fits, for both archives and singular views.Only posts index can use
home.php
, but all other contexts might and will useindex.php
.What's the ideal condition to use a
home.php
than anindex.php
You use
home.php
to customize posts index.You use
index.php
to provide the most generic template in your theme, suitable for display of anything.Some themes choose to have empty
index.php
and ensure they have more specific templates for all possible cases, so it never has to be used.What's the ideal condition to use a
front-page.php
?front-page.php
is used for posts index at the root or static front page, if enabled.It is a high priority template, so if theme has it you cannot select arbitrary template for static front page. For this reason it is almost never included in publicly released themes (which is correct).
The best use for it is in private projects, since it's easier to configure than page template.
When I'm using a
front-page.php
then what specific task anindex.php
is doing for me then?index.php
is still a catch all template for all other cases.If you use static front page (to which
front-page.php
will apply) then your posts page will try to usehome.php
and thenindex.php
. -
- 2013-08-16
Die Datei
front-page.php
ist die Vorlagefür die Site-Startseite . Es wirdimmer auf der Startseite Ihrer Website verwendet,unabhängig davon,obget_option ('show_on_front')
aufpage
oderposts
eingestelltist.Die Vorlagendatei
home.php
ist die Vorlage Blogposts-Index . Es wirdimmer verwendet,um Ihren Blogpost-Index anzuzeigen,unabhängig davon,ob der Blogpost-Index auf der Startseite der Website oder aufeiner anderen Seite angezeigt wird.Für den Fall,dass sowohl
front-page.php
als auchhome.hpp
vorhanden sind und dieget_option ('show_on_front')
festgelegtist Beiposts
(dh auf der Startseite der Website wird der Index der Blog-Posts angezeigt) hat die Dateifront-page.php
Vorrang vor der Dateihome.php
Datei.Die Datei
index.php
ist die Standard-Fallback-Vorlage für alle Kontextein Vorlagenhierarchie . Es wirdimmernur verwendet,wennfür den aktuellen Kontext keine spezifischere Vorlagendatei vorhandenist.Die Vorlagenhierarchiefür die Site-Startseite lautet:
-
front-page.php
- Wenn
'page'==get_option ('show_on_front')
: Seitenhierarchie - Wenn
'posts'==get_option ('show_on_front')
: Indexhierarchiefür Blog-Posts
Die Vorlagenhierarchiefür den Blogpost-Index lautet:
-
home.php
index.php
Die Vorlagenhierarchiefür Seiten lautet:
- Benutzerdefinierte Seitenvorlage
page-{slug}.php
page-{id}.php
-
page.php
index.php
The
front-page.php
file is the site front page template. It will always be used on your site front page, regardless of whetherget_option( 'show_on_front' )
is set topage
orposts
.The
home.php
template file is the blog posts index template. It will always be used to display your blog posts index, regardless of whether the blog posts index is displayed on the site front page, or on a different page.In the case that both
front-page.php
andhome.hpp
exist, and theget_option( 'show_on_front' )
is set toposts
(i.e., the site front page displays the blog posts index), thefront-page.php
file will take precedence over thehome.php
file.The
index.php
file is the default fallback template for all contexts in the Template Hierarchy. It is only ever used if a more-specific template file does not exist for the current context.The template hierarchy for the site front page is:
front-page.php
- If
'page' == get_option( 'show_on_front' )
: page hierarchy - If
'posts' == get_option( 'show_on_front' )
: blog posts index hierarchy
The template hierarchy for the blog posts index is:
home.php
index.php
The template hierarchy for pages is:
- Custom page template
page-{slug}.php
page-{id}.php
page.php
index.php
-
Wennich das richtig verstehe,istesnichtmöglich,die Vorlage "my-template-1" zu verwenden,wenn die Startseite auf dieneuesten Beiträgeeingestelltist,und "my-template-2" zu verwenden,wenn die Vorderseite aufeine statische Seiteeingestelltist(ohne Kodierung)?So, if i'm getting this right, it's not possible to use `my-template-1` template when the front page is set to latest posts and use `my-template-2` when the front is set to an static page (without coding) ?
- 0
- 2017-05-30
- Jack Johansson
-
- 2013-08-16
All diesergibt sich auseinergründlichen Lektüre der Vorlagenhierarchie .
home.php
wird verwendet,wenn:- Auf der Startseite Ihrer Website wirdeine Listemit Beiträgen angezeigt,oder
- Eine statische Startseite wirdfestgelegt und
- Ein Besucherbesucht die Seite,die Sie als "Liste der Beiträge" definiert haben (z. B.
http://example.com/blog/
)
- Und das Thema hateine
home.php
-DateiWenn die letzte Bedingungnichterfülltist,dh keine
home.php
-Dateiim Thema vorhandenist,wirdindex.php
geladen.front-page.php
wird verwendet,wenn:- Eine statische Startseite wirdfestgelegt und
- Ein Besucher wechselt zu der Seite,die Sie als "statische Startseite" definiert haben (dh
http://example.com/
),und - Das Thema hateine
front-page.php
-Datei
Wenn die letzte Bedingungnichterfülltist,dh keine
front-page.php
-Dateiim Design vorhandenist,wirdindex.php
geladen .Zusammenfassend
Wenn Sie Ihre Liste der Beiträge anpassenmöchten,verwenden Sie
home.php
.
Wenn Sie Ihre statische Homepage anpassenmöchten,verwenden Siefront-page.php
.All this comes from a thorough reading of the Template Hierarchy.
home.php
is used if:- Your site's front page is set to display a list of posts, or
- A static front page is set, and
- A visitor goes to the page that you've defined as your "list of posts" (eg,
http://example.com/blog/
)
- And the theme has a
home.php
file
If the last condition isn't met -- ie, there is no
home.php
file in the theme -- thenindex.php
will be loaded.front-page.php
will be used if:- A static front page is set, and
- A visitor goes to the page that you've defined as your "static home page" (ie,
http://example.com/
), and - The theme has a
front-page.php
file
If the last condition isn't met -- ie, there is no
front-page.php
file in the theme -- thenindex.php
will be loaded.In summary
If you want to customize your list of posts, use
home.php
.
If you want to customize your static home page, usefront-page.php
.-
`home.php` wird unabhängig vom Standortfür den Blogpost-Index verwendet.Wenn auf der Startseite der Index der Blog-Beiträge angezeigt wird,wird "home.php" verwendet (wenn "front-page.php"nicht vorhandenist).`home.php` will be used for the blog posts index, regardless of location. If the front page is set to display the blog posts index, then `home.php` will be used (if `front-page.php` does not exist).
- 2
- 2013-08-16
- Chip Bennett
-
- 2013-08-21
Kurzgesagt:
-
index.php
istnureine Fallback-Vorlage,falls keinegeeignete Vorlagegefunden wurde -
home.php
wirdfür das Blog verwendet (eine Liste der letzten Beiträge) -
front-page.php
wirdfür die Landingpage verwendet
Die universelle Vorlage
index.php
Die Vorlagendatei
index.php
isteine Fallback-Vorlage. Es wird als letzter Ausweg verwendet,wenn keine anderegeeignetere Vorlage verfügbarist. Wenn Siebeispielsweise wedereinefront-page.php
nocheinehome.php
haben,wirdindex.php
verwendet. Diesgilt auchfürfehlendearchive.php
odersingle.php
usw.In Bezug auf
front-page.php
VShome.php
Der Unterschied zwischen den Vorlagen
front-page.php
undhome.php
bestehtnun darin,dass diefront-page.php
verwendet wird Der Name weist darauf hin,dasshome.php
als Hauptstartseite der Website die Heimat des Abschnitts Blog sein soll.Welche Vorlage wirdfür die Zielseitemeiner Website verwendet?
Die Vorlage
front-page.php
wird,falls vorhanden,für die Haupt-Startseite der Site verwendet (z. B.http://www.example.com/
). . Wennnicht vorhanden,wird stattdessenhome.php
verwendet. Wenn sowohl die Vorlagendateienfront-page.php
als auchhome.php
fehlen,wird die Fallback-Vorlageindex.php
verwendet.Welche Vorlage wirdfürmeine Blog-Seite verwendet?
Mit WordPress können Sieeine "Blog" -Seite (auf der die letzten Beiträge aufgelistet sind) aufeiner anderen Seite als der Zielseite (z. B.
http://www.example.com)einrichten/blog/
). Wenn dies auf Ihrer Website der Fallist,verwendet die Blog-Seiteimmer die Vorlagehome.php
. Wennhome.php
nicht vorhandenist,wird die Fallback-Vorlageindex.php
verwendet.Wie konfiguriereich die Landingpage und die Blogseite?
Um zu konfigurieren,welche Inhalte auf Ihrer Startseite angezeigt werden sollen,gehen Sie zum WordPress-Administrator unter Extras> Lesen . Dort können Sie die " Startseite" konfigurieren Zeigt "an,umeine statische Seite oder Ihreneuesten Beiträge anzuzeigen.
Wenn Sieeine statische Seite auf der Startseite anzeigenmöchten,können Sie auchfestlegen,welche Seite als Platzhalterfür die Blog-Seite verwendet werden soll (wobei die Datei
home.php Vorlage):
In short:
index.php
is a fallback template only, in case no appropriate template was foundhome.php
is used for the blog (a listing of recent posts)front-page.php
is used for the landing-page
The universal
index.php
templateThe
index.php
template file is a fallback template. It is used as a last resort when no other more appropriate template is available. For example, if you don't have afront-page.php
nor ahome.php
thenindex.php
will be used. This is also true for missingarchive.php
orsingle.php
and so on.Regarding
front-page.php
VShome.php
Now the difference between
front-page.php
andhome.php
templates is that thefront-page.php
is used, as its name suggests, as the main front-page of the site, whilehome.php
is intended to be the home of the Blog section.What template will be used for my site's landing-page?
The
front-page.php
template, if present, will be used for the site's main front page (e.g.http://www.example.com/
). If not present, thenhome.php
will be used instead. If both thefront-page.php
andhome.php
template files are missing then theindex.php
fallback template will be used.What template will be used for my blog page?
WordPress allows you to have a "Blog" page (which will list recent posts) on a different page than the landing-page (e.g.
http://www.example.com/blog/
). So if this is the case on your site, then the Blog page will always use thehome.php
template. Ifhome.php
doesn't exist then theindex.php
fallback template will be used.How to configure the landing-page and blog page?
To configure what content to show on your front page, go to the WordPress Admin, under Tools > Reading, there you can configure the "Front page displays" to show a static page, or your latest posts.
In the case you choose to display a static page on the front page, then you also have the possibility to set which page to use as a placeholder for the Blog page (which will use the
home.php
template): -
- 2015-11-07
entnommen aus Hierarchie der Wordpress-Vorlagen
Startseitenanzeige
Standardmäßig legt WordPress die Startseite Ihrer Website sofest,dass Ihre angezeigt wird neueste Blog-Beiträge. Diese Seite wird als Blogpost-Indexbezeichnet. Sie können Stellen Sie außerdem Ihre Blog-Beiträge soein,dass sie aufeiner separaten statischen Seite angezeigt werden. Das Die Vorlagendatei home.php wird verwendet,um den Index der Blog-Beiträge zu rendern Es wird als Startseite oder aufeiner separaten statischen Seite verwendet. Wenn home.phpexistiertnicht,WordPress verwendetindex.php.
- home.php
- index.php
Hinweis: Wennfront-page.php vorhandenist,wird die Vorlage home.php überschrieben.
Anzeige der Startseite
Die Vorlagendateifront-page.php wird zum Rendern der Vorderseite Ihrer Site verwendet Seite,ob auf der Startseite der Blogpost-Index angezeigt wird (erwähnt oben) odereine statische Seite. Die Titelseitenvorlage hat Vorrang vor die Indexvorlagefür Blog-Posts (home.php). Wenn diefront-page.php-Datei existiertnicht,WordPress verwendetentweder die Datei home.php oderpage.php Dateienje nach Einrichtung unter Einstellungen → Lesen. Wenn keiner von Wenn diese Dateien vorhanden sind,wird die Dateiindex.php verwendet.
1.front-page.php - Wird sowohlfür "Ihreneuesten Beiträge" als auchfür "eine statische Seite" verwendet. Wie auf der Startseitefestgelegt,wird der Abschnitt Einstellungen → Lesen angezeigt.
2. home.php - Wenn WordPressfront-page.php und „Ihreneueste Versionnichtfinden kann posts "wirdim Bereichfür die Anzeige der Startseitefestgelegt,nach demgesucht wird home.php. Zusätzlich sucht WordPressnach dieser Datei,wenn die Die Beitragsseite wirdim Bereichfür die Anzeige der Startseitefestgelegt.
3.page.php - Wann "Startseite" wirdim Abschnitt "Anzeigen der Startseite"festgelegt.
4.index.php - Wenn "Ihreneuesten Beiträge"in der Startseiteeingestelltist,wird aber Abschnitt angezeigt home.phpexistiertnicht oder wenn die Startseiteeingestelltist,page.phpjedoch nichtexistieren.
Wie Sie sehen können,gibt es viele Regelnfür welchen Pfad WordPressbraucht. Die Verwendung der obigen Tabelleist derbeste Weg,um zubestimmen was WordPress anzeigt.
taken from Wordpress template hierarchy
Home Page display
By default, WordPress sets your site’s home page to display your latest blog posts. This page is called the blog posts index. You can also set your blog posts to display on a separate static page. The template file home.php is used to render the blog posts index, whether it is being used as the front page or on separate static page. If home.php does not exist, WordPress will use index.php.
- home.php
- index.php
Note: If front-page.php exists, it will override the home.php template.
Front Page display
The front-page.php template file is used to render your site’s front page, whether the front page displays the blog posts index (mentioned above) or a static page. The front page template takes precedence over the blog posts index (home.php) template. If the front-page.php file does not exist, WordPress will either use the home.php or page.php files depending on the setup in Settings → Reading. If neither of those files exist, it will use the index.php file.
1. front-page.php – Used for both “your latest posts” or “a static page” as set in the front page displays section of Settings → Reading.
2. home.php – If WordPress cannot find front-page.php and “your latest posts” is set in the front page displays section, it will look for home.php. Additionally, WordPress will look for this file when the posts page is set in the front page displays section.
3. page.php – When “front page” is set in the front page displays section.
4. index.php – When “your latest posts” is set in the front page displays section but home.php does not exist or when front page is set but page.php does not exist.
As you can see, there are a lot of rules to what path WordPress takes. Using the chart above is the best way to determine what WordPress will display.
-
- 2017-04-25
Ich habemichentschlossen zutesten,welche Vorlagefürjede derfolgenden Seiten verwendet wird,wenn die verschiedenen Anzeigeoptionenfür die Startseitefestgelegt sind.
- example.net
- example.net/home/
- example.net/blog/
Die Ergebnisse sind ziemlich lang,können aber als Referenz oder Spickzettel verwendet werden.
Quelle: Wie unterscheiden sich die Vorlagenfront-page.php und home.phpin WordPress?
Hinweisfür den Editor: Ich habe versucht,die Tabellen hier zu kopieren undeinzufügen,aber anstelle von HTMListein Markdown-Formaterforderlich.Bitte konvertieren Siein Markdown,wenn Sie können.
I decided to test which template is used for each of the following pages when the various Front page displays options are set.
- example.net
- example.net/home/
- example.net/blog/
The results are quite long, but can be used as a reference or cheat-sheet.
Source: How do the front-page.php and home.php templates differ in WordPress?
Note to editor: I tried to copy and paste the tables here but markdown format is required instead of HTML. Please convert to markdown if you can.
Ichbin wirklich verwirrtmit
index.php
,home.php
undfront-page.php
.In vielen Fällen habeich,obwohlicheineindex.php
hatte,diesemitfront-page.php
überschrieben.Aber vor kurzem wurdeich aufhome.php
aufmerksam.home.php
undindex.php
?home.php
alseineindex.php
zu verwenden?front-page.php
?front-page.php
verwende,welche spezifische Aufgabeerledigt danneineindex.php
fürmich?Ich habe die Vorlagenhierarchie im Codexgelesen.Bittemischen Siemeine Fragenichtmit Seitenvorlagen,ich verstehe sie,alHamduLILLAH.