Wordpress verstehen

[Tutorial] WordPress Theme Dateien Überblick

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

pfeildings

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*