Erste Schritte¶
Vom fertigen Paket zur einsatzbereiten Seite in fünf Schritten.
Voraussetzungen¶
| Was | Mindestens |
|---|---|
| WordPress | 6.7 |
| PHP | 8.2 |
Getestet ist TWtheme bis WordPress 7.0. Ein Block-Theme setzt einen aktuellen Site-Editor voraus — auf älteren Installationen fehlen Funktionen, die die Templates verwenden.
1. Theme installieren¶
Die Auslieferung besteht aus mehreren ZIP-Dateien:
| Paket | Inhalt | Wann |
|---|---|---|
twtheme-<version>.zip |
das Theme ohne Icon-Bibliotheken, rund 3 MB | bei der Installation und bei jedem Update |
twtheme-icons-<bibliothek>-<version>.zip |
eine Icon-Bibliothek, etwa solid oder brands |
nur wenn das Modul Icons gebraucht wird |
Installiert wird unter Design → Themes → Theme hinzufügen → Theme hochladen. Das Kernpaket zuerst.
Die Icons sind absichtlich getrennt, und zwar je Bibliothek einzeln: Alle
zusammen machen 16 der 19 MB aus. Ein Projekt, das nur solid und brands
braucht, überträgt rund 2,3 MB statt 16 und hat keine ungenutzten SVGs auf dem
Server. Braucht ein Projekt keine Icons, lässt man diese Pakete ganz weg.
Nicht auf eine Entwicklungsumgebung installieren
Das Kernpaket enthält bewusst kein source/, scripts/ und docs/ — es ist
eine Auslieferung, kein Arbeitsverzeichnis. Auf einer Entwicklungsumgebung
würde die Installation diese Ordner entfernen. Der TW Hub Agent erkennt ein
Arbeitsverzeichnis an .git, node_modules, source oder scripts und
verweigert die Installation.
2. Child-Theme anlegen¶
Aktiviert wird nie der Parent, sondern immer ein Child-Theme. Selbst wenn ein Projekt zunächst nichts anpasst — sobald die erste Anpassung kommt, ist das Child schon da und nichts muss umgezogen werden.
Ein Child braucht zwei Dateien. Zuerst style.css mit dem Kopf, der den Parent
benennt:
/**
* Theme Name: Projektname
* Template: twtheme
* Version: 1.0.0
* Requires at least: 6.7
* Requires PHP: 8.2
* Text Domain: projektname
*/
Entscheidend ist Template: twtheme — daran erkennt WordPress den Parent.
Dann functions.php, um das Stylesheet zu laden:
<?php
defined('ABSPATH') || exit();
add_action('wp_enqueue_scripts', 'projektname_enqueue_assets', 30);
function projektname_enqueue_assets(): void
{
$path = get_stylesheet_directory() . '/style.css';
if (! is_readable($path)) {
return;
}
wp_enqueue_style(
'projektname',
get_stylesheet_directory_uri() . '/style.css',
function_exists('twtheme_main_style_deps') ? twtheme_main_style_deps() : [],
(string) filemtime($path)
);
}
twtheme_main_style_deps() sorgt dafür, dass das Parent-Bundle zuerst geladen
wird und die Regeln des Childs gewinnen.
Als vollständige Vorlage dient das Theme TWtheme Demo. Dort ist jeder der vorgesehenen Erweiterungswege einmal ausgeschrieben.
Die functions.php des Childs läuft vor der des Parents
Zum Zeitpunkt, an dem die functions.php des Childs ausgeführt wird,
existieren TWTHEME__DIR, TWTHEME__OPTIONS und twtheme_include_files()
noch nicht. Code, der sie braucht, gehört in after_setup_theme oder später.
add_filter() auf Parent-Filter ist dagegen auf Dateiebene richtig — der
Parent wendet sie erst beim Booten an.
Mehr dazu unter Child-Theme.
3. Module wählen¶
Nach der Aktivierung sind die meisten Module an. Unter Theme → Module schaltet man ab, was das Projekt nicht braucht.
Der Reihe nach durchgehen lohnt sich einmal am Anfang: Jedes aktive Modul lädt PHP, registriert womöglich Blöcke und zeigt Optionsfelder. Was aus bleibt, kostet nichts.
Zwei Entscheidungen sind dabei wichtig, weil sich die Optionen gegenseitig ausschließen:
| Frage | Auswahl |
|---|---|
| Wie wird die Einwilligung verwaltet? | Complianz oder Cookiebot — nicht beides |
| Welche Karten? | Google Maps oder OpenStreetMap — nicht beides |
Ausführlich unter Module schalten.
4. Grunddaten setzen¶
Unter Theme → Einstellungen kommen die Daten hinein, die überall auf der Seite gebraucht werden.
Im Reiter mit dem Namen der Website:
- Logos — Hauptlogo, Footer-Logo, Logo für das mobile Menü
- Contact Information — Telefon, E-Mail, Öffnungszeiten
- Channels — die Social-Media-Kanäle
Im Reiter Allgemein:
- Favicons — bleiben die Felder leer, greifen die Standarddateien des Themes
Die Kontaktdaten sind danach als Shortcode überall verfügbar: [tw-logo],
[tw-phone], [tw-email], [tw-opening-hours]. Sie stehen also genau einmal in
der Datenbank, auch wenn die Telefonnummer auf zehn Seiten erscheint.
Ausführlich unter Theme-Optionen.
5. Kopf- und Fußbereich bauen¶
Kopf- und Fußbereich sind Template-Parts und werden unter Design → Editor bearbeitet. Der Parent liefert eine schlichte Hülle, die ein Projekt ersetzt.
Für die Hauptnavigation gibt es zwei Wege:
| Block | Passt, wenn |
|---|---|
| TW Megamenü | mehrspaltige Dropdowns mit Bildern oder Widgets gebraucht werden |
| Klassisches Menü | ein Menü aus Darstellung → Menüs genügt |
Wenn etwas fehlt¶
Zeigt ein Block sich nicht im Editor oder wirkt eine Einstellung nicht, ist fast immer das zugehörige Modul aus. Die Seite Theme → Info listet auf, welche Module laufen, dazu die Versionen von Theme, WordPress, PHP und allen Plugins — mit einem kopierfertigen Bericht für Supportanfragen.
Wie es weitergeht¶
-
Architektur
Wie Parent, Child, Module und Feld-Engine zusammenspielen. -
Anwenden
Blöcke, Einstellungen und Inhalte im Detail. -
Entwickeln
Child-Theme, eigene Felder, eigene Module.