Momentan arbeite ich fiebrig an meiner Portfolio Webseite felixgellner.de. Dafür benutze ich Bootstrap und erstelle damit ein eigenes Theme. Das mache ich zum ersten Mal und nun ist es so, dass der Haufen an PHP Dateien innerhalb eines WordPress Themes mal übel verwirren kann. Zumal es index.php, page.php und home.php gibt, klingt irgendwie alles gleich. Deswegen liste ich hier alle Dateien auf und erkläre kurz ihre Funktion. Ab geht’s!
Die Grundlage
Um etwas ein Theme zu nennen, braucht es lediglich zwei Dateien.
index.php
Diese Datei ist ziemlich flexibel, bringt aber meistens alle Einzelteile eurer Webseite zusammen, sofern ihr welche habt und ruft damit die Startseite auf.
style.css
Euer Basis-Stylesheet. Mit nur diesen beiden Dateien habt ihr bereits ein funktionierendes WordPress Theme!
Einzelteile zum Einbetten
Nun folgen all die Dateien, die in andere Dateien eingebunden werden.
header.php
Hier gehört vor allem der Head-tag der Webseite rein, sowie der Beginn des Body-tags. Hier befinden sich also der Titel deiner Webseite und mögliche zu ladende Skripte. Diese Datei wird auf jeder Seite aufgerufen.
footer.php
Das Ende des Body-tags. Hier findet sich alles was ans Ende der Webseite gehört. Dazu gehört nicht nur der sichtbare Footer, sondern es bietet sich auch an, weniger wichtige Skripte (wackelnde Knöpfe zum Beispiel) erst hier zu laden, damit die Webseite sich gefühlt schneller aufbaut.
sidebar.php
Wenn man eine Sidebar braucht, kann man den HTML-Code dafür hier reinschreiben und in der index.php mittels get_sidebar(); aufrufen. Ich habe diese Datei weggelassen, das geht auch.
comments.php
Das gleiche Spiel mit der Kommentarbox. Kann man in seine Seiten einfügen.
content.php
Diese Datei scheint vom Namen her nicht offiziell reserviert zu sein, ist aber eigentlich immer zu finden und zeigt die gekürzte Variante eines Artikels an.
content-{post-typ}.php
Soll der Excerpt für spezielle Posts anders aussehen, verwendet diese Dateien.
rtl.css
Braucht euch nur zu kümmern, wenn ihr eure Webseite auch in Sprachen anbieten wollt, die von rechts nach links schreiben.
Container für die Einzelteile und andere Seiten
Nun hat man ja mehrere Seiten als die Startseite. Dafür sind die folgenden Dateien nützlich.
home.php
Diese Datei funktioniert wie die index.php und zeigt euch die Startseite an. Sollte sie nicht existieren, fällt WordPress zurück auf die index.php. So kann man die Homepage spezieller einstellen und hat immer noch die index.php als Fallback. Solche Hierarchien mit Fallbacks gibt es in WordPress öfter.
page.php
Zeigt eine individuelle Seite. Je nach Einstellung (Einstellungen -> Lesen) wird diese Datei genutzt, um die Startseite anzuzeigen und ist höher gestellt als die home.php, jedoch niedriger als die front-page.php.
front-page.php
Diese Datei setzt noch einen drauf. Sie ist wieder für die Anzeige der Startseite zuständig. Existiert diese nicht, wird home.php genommen, existiert auch home.php nicht, wird index.php genommen.
single.php
Diese Datei funktioniert ähnlich wie die index.php und schnürt Header, Footer und Sidebar zu einer Seite zusammen. Diese Seite zeigt aber einen einzelnen Post, und nicht die Startseite an.
single-{post-typ}.php
Um das single Template noch zu spezialisieren, kann man custom post types definieren und so z.B. alle Posts über Videos mit single-video.php gestalten. Laut WordPress Docs geht der Fallback direkt auf die index.php und nicht auf die normale single.php. Das stimmt aber nicht!
archive.php
Wird benutzt um Kategorien, Autoren, oder Daten (von Datum) anzuzeigen.
tag.php, category.php, author.php, date.php, search.php
Je nachdem, was man gesucht hat, greifen diese Templates zur Anzeige der Ergebnisse. Existiert die Datei nicht, benutzt WordPress einfach eins der niedrigeren Templates in der Rangordnung. Als nächstes wäre das archive.php
taxonomy.php
Kann man für die Anzeige des Impressums benutzen.
404.php
Das Template für eine ‚Nicht gefunden‘-Seite.
attachment.php
Template für die Anzeige eines einzelnen Anhangs.
image.php
Template für die Anzeige eines einzelnen Bildes. Fallback auf attachment.php
search.php
Das Template für die Seite mit Suchergebnissen
So, das hat mir geholfen, die WordPress Dateien zu verstehen. Ich hoffe, euch auch! Werft auch mal einen Blick auf die offizielle Seite, da gibt es ein schönes Diagramm für die Fallbacks. Wenn ihr nun ein eigenes WordPress Theme erstellen wollt, empfehle ich underscores(oder _s). Das ist ein leeres Theme Gerüst. Das war’s für heute, ich denke nächste Woche kann ich meine Ergebnisse hierzu präsentieren. Bis dahin, bleibt geschmeidig!
*korrigiert media queries*