WordPress verstehen: Theme Aufbau

WordPress verstehen: Der Aufbau eines Themes

Auch wenn man keine WordPress-Themes entwickelt, sieht man sich als Betreiber einer Seite immer wieder Herausforderungen gegenübergestellt, bei denen Kenntnisse zum CMS praktisch wären. Ich möchte euch deshalb heute zeigen, wie der Aufbau eines Themes in WordPress aussieht, um ein besseres Verständnis von der allgemeinen Funktion zu schaffen.

  1. Ein Hinweis vorab: Child-Themes
  2. Der Aufbau der wichtigsten Seiten in WordPress erklärt
  3. So wird die Startseite generiert
  4. Die Ansicht eines separaten Artikels
  5. Die Ansicht einer separaten Seite
  6. Wie Kategorien dargestellt werden
  7. Flexibilität von WordPress zum Vorteil nutzen

Um zu verstehen, wie einzelne Teile von WordPress-Themes aufgebaut sind, ist es wichtig, die grundlegende Technik dahinter zu verstehen. Die einzelnen Seiten in WordPress werden in der Programmiersprache PHP ausgegeben. Sie erlaubt dynamische Inhalte und unterscheidet sich damit stark von Seiten, die allein auf HTML setzen. Diese werden als statische Seiten bezeichnet.

Um eine saubere Trennung zu ermöglichen, wird bei WordPress mit verschiedensten Dateien gearbeitet, die untereinander Hierarchien bilden. Eine Seite verfügt also über die Anweisung, welche Dateien sie als Quelle aufzurufen hat – und was zu tun ist, wenn sie diese nicht findet. Warum das so praktisch und sinnvoll ist, zeigt folgendes vereinfachtes Beispiel:

Webseite 1 hat pro Seite mehrere Dateien mit Hierarchien definiert. Webseite 2 hat für jede Seite nur eine einzige Datei. Um einen Artikel zu zeigen, ruft Webseite 1 die Datei „Artikel mit Design für Kategorie 1“ auf. Wird diese nicht gefunden, wird die Datei „Artikel mit einem normalen Design“ aufgerufen. Wird diese auch nicht gefunden, wird die Datei „Artikel ohne Design“ aufgerufen. Webseite 2 hingegen hat nur die Datei „Artikel“. Nun soll erreicht werden, dass einige Artikel, die der Kategorie 1 zugeordnet werden, ein anderes Design haben, als Artikel ohne die Zuordnung. Webseite 1 nimmt eine einzige Anpassung an der Datei „Artikel mit Design für Kategorie 1“ vor. Webseite 2 hingegen muss die Korrektur in jeder einzelnen Datei vornehmen, denn es gibt keine zentrale Definition für das Aussehen.

Dieses vereinfachte Beispiel zeigt gut, warum Hierarchien von Webseiteninhalten in einzelne Dateien sinnvoll sind. Eben das passiert in WordPress.

Ein Hinweis vorab: Child-Themes

In diesem Artikel soll ein Verständnis dafür geschaffen werden, wie WordPress-Themes funktionieren. Danach soll es möglich sein, kleine Anpassungen im Quelltext (z.B. das Entfernen eines Datumfelds) selbst vorzunehmen. Hierfür ist es wichtig zu wissen, dass mit jedem Update eines Themes sämtliche Anpassungen überschrieben werden können. Um dagegen geschützt zu sein und nicht immer mit Backups arbeiten zu müssen, ist es sinnvoll, Child-Themes zu verwenden. Wie das geht, erklären wir hier.

Child-Themes sind Ordner, in denen ihr einzelne Dateien aus dem eigentlichen Theme ersetzt bzw. anpasst. Ihr erklärt WordPress dafür: „Suche, bevor du das Theme lädst, immer im Ordner Child-Theme, ob es für einzelne Dateien Ersatz gibt. Wenn ja, lade diese. Wenn nein, nimm die Dateien aus dem eigentlichen Theme.“.

Der Aufbau der wichtigsten Seiten in WordPress erklärt

Lasst uns die wichtigsten Seitentypen einmal anschauen und sehen, wie diese aufgebaut werden. Hierfür wollen wir uns die Startseite, einzelne Artikel, einzelne Seiten und Kategorien ansehen. Als Grundlage haben wir das Theme-Handbuch von WordPress selbst verwendet, welches leider nur in englischer Sprache verfügbar ist. Einige der hier genannten Dateien dürftet ihr in eurem WordPress-Theme finden.

So wird die Startseite generiert

Startseite
Die Startseite zeigt in WordPress standardmäßig die letzten Artikel an. Um diese zu generieren, sucht WordPress nach der Datei home.php. Diese anzulegen eignet sich ideal, um seine Startseite von den bisherigen klar abzugrenzen und spezifische Elemente zu verwenden.

Ist eine home.php nicht vorhanden, greift WordPress auf die index.php zu. Hierbei handelt es sich um eine Datei, die als Backup fungiert und immer dann angezeigt wird, wenn es keine spezifischen Templates für den geplanten Verwendungszweck gibt.

Die Ansicht eines separaten Artikels

Artikel
Um einen separaten Artikel aufzurufen, arbeitet WordPress recht viele Dateien durch. Das erscheint aufwendig, erlaubt es aber, mit wenig Aufwand spezifische Designs zu definieren. Zu Beginn sucht WordPress nach einer Datei mit single-Artikeltyp-Artikelname.php. „Single“ bezeichnet einen einzelnen Artikel, „Artikeltyp“, auch bekannt als Custom-Post-Type (wird nicht von allen Themes angeboten), die Zuweisung als eine bestimmte Artikelart. Zuletzt kommt der Name des Artikels. Es ist also tatsächlich möglich für jeden Artikel in WordPress ein anderes Design zu definieren! Das bietet viele Freiheiten in der Gestaltung.

Ist so eine Datei nicht vorhanden, geht WordPress dazu über, nach single-Artikeltyp.php zu suchen. Habt ihr in eurem Theme die Möglichkeit, Artikel als z.B. „Galerie“ oder „Zitat“ zu definieren, würde in dem Fall jeder Artikel mit der Eigenschaft „Zitat“ ein eigenes Design erhalten. Das ist eine praktische Funktion, die es erlaubt, eine gewisse einheitliche Abwechslung in die Webseite zu bringen.

Gibt es auch diese Datei nicht, sucht WordPress nach single.php, eine allgemeine Vorlage für Artikel. Danach wird auf singular.php zurückgegriffen, wonach, wie gewohnt, die Sicherheit index.php folgt. Die Verwendung von singular.php wurde in WordPress 4.3 eingeführt und ist für all jene Nutzer sinnvoll, die für Artikel und Seiten das gleiche Aussehen wünschen. Statt zwei Designs für single.php und page.php (wird für separate Seiten verwendet) zu pflegen, reicht es, singular.php zu betreuen.

Die Ansicht einer separaten Seite

Seite
Habt ihr euer Impressum oder ein Kontaktformular auf einer separate Seite angelegt, geht WordPress, ähnlich wie bei Artikeln, recht viele Schritte durch, um ein passendes Aussehen zu erhalten. Es beginnt mit der Suche nach einer definierten Template-Datei, also einem Design, welches im Backend der Seite zugewiesen wurde.

Gibt es diese nicht, wird nach der page-Seitenname.php gesucht. Diese erlaubt es, für jede Seite ein eigenes Design anzulegen.

Im nächsten Schritt sucht WordPress nach der page-id.php. Hierin unterscheidet sich die Suchweise gegenüber der Ansicht eines separaten Artikels. Denn WordPress sucht nach einer Datei, die die ID der Seite trägt. Wird diese nicht gefunden, wird auf die allgemeine page.php verwiesen, die die Darstellung von Seiten beschreibt. Anschließend folgen die beiden bekannten singular.php sowie index.php.

Wie Kategorien dargestellt werden

Kategorien
Lasst uns nun einen Blick auf die Kategorien werfen. Um diese darzustellen, sucht WordPress nach category-Kategoriename.php. So können Kategorieseiten separat definiert werden. Danach folgt, ähnlich wie bei den Seiten, die Suche nach der category-id.php.

Ist auch diese nicht vorhanden, greift das System auf die allgemeine category.php zu, die die Darstellung von Kategorien definiert.

Nun ist es möglich, dass weder für spezifische noch allgemeine Kategorien eine Datei vorhanden ist. In diesem Fall besteht die Datei archive.php als Backup. Diese wird für Seiten verwendet, wo Artikel in chronologischer Reihenfolge dargestellt werden. Das ist bei Kategorien, ebenso bei Schlagwörtern und der Autoren-Seite der Fall.

Fehlt nun eine solche Datei, geht es an die bekannte index.php. So wird auf jeden Fall dafür gesorgt, dass die Darstellung gelingt.

Flexibilität von WordPress zum Vorteil nutzen

Man merkt beim Durchgehen der Abläufe schnell, dass WordPress viel Platz für Individualität bietet. Ihr könnt ein eigenes Aussehen für Artikeltypen definieren, ja, sogar für einzelne Artikel. Diese zahlreichen Anpassungsmöglichkeiten ebnen den Weg für ein flexibles und mitwachsendes CMS.

Kommentare

  1. Gravatar
    Browserwerk am
    Vielen Dank für diesen hilfreichen Artikel.
    Es gibt viele User, die sich mit dem Content Management System schwer tun und solche Einträge sind hier immer sehr hilfreich
    LG Browserwerk
    Antworten
  2. Gravatar
    René am
    Bin Wordpress anfänger
    Vielen Dank für diese wichtigen Infos
    War schon am verzwifeln, weil immer in bestimmten Fällen die index.php abgearbeitet wurde, anstelle der erwarteten single.php.
    jetzt ist mir das klar geworden.
    Herzliche Grüße und Danke
    René
    Antworten

Kommentar hinzufügen