WordPress.org
Während WordPress-Themes technisch gesehen nur zwei Dateien benötigen (index.php
und style.css
), bestehen sie normalerweise aus vielen Dateien. Das bedeutet, dass sie schnell unordentlich werden können! In diesem Abschnitt erfahren Sie, wie Sie Ihre Dateien in Ordnung halten können.
header.php
und footer.php
, für die es keine Alternative gibt, sind seit WordPress 3.0 veraltet. Ihr Theme muss diese Dateien möglicherweise ebenfalls enthalten.Theme-Ordner und Dateistruktur #Theme-Ordner und Dateistruktur
Wie bereits erwähnt, sind die Standard-Twenty-Themes einige der besten Beispiele für gute Theme-Entwicklung. Hier ist zum Beispiel, wie das Twenty Seventeen-Theme seine Dateistruktur organisiert:
assets (dir) - css (dir) - images (dir) - js (dir)inc (dir)template-parts (dir) - footer (dir) - header (dir) - navigation (dir) - page (dir) - post (dir)404.phparchive.phpcomments.phpfooter.phpfront-page.phpfunctions.phpheader.phpindex.phppage.phpREADME.txtrtl.cssscreenshot.pngsearch.phpsearchform.phpsidebar.phpsingle.phpstyle.css
Sie können sehen, dass die Haupt-Theme-Vorlagendateien im Root-Verzeichnis sind, während JavaScript, CSS, Bilder im Assets-Verzeichnis platziert sind, template-parts sind in den jeweiligen Unterverzeichnissen von template-parts platziert und die Sammlung von Funktionen, die sich auf die Kernfunktionalitäten beziehen, sind im inc-Verzeichnis platziert.
Zum jetzigen Zeitpunkt gibt es keine erforderlichen Ordner innerhalb eines WordPress-Theme. WordPress erkennt jedoch standardmäßig die folgenden Ordner.
Hinweis: style.css
sollte sich im Stammverzeichnis Ihres Themes befinden, nicht im CSS-Verzeichnis.
Ordner #Languages folder
Es ist die beste Praxis, Ihr Thema zu internationalisieren, damit es in andere Sprachen übersetzt werden kann. Standard-Themes enthalten den Ordner languages
, der eine .pot-Datei für die Übersetzung und alle übersetzten .mo-Dateien enthält. Obwohl languages
der Standardname dieses Ordners ist, können Sie den Namen ändern. Wenn Sie dies tun, müssen Sie load_theme_textdomain()
.
aktualisieren.