Referenz
Dokumentation
Vollstandige Anleitung zur Installation, Konfiguration und Erweiterung des GeneratePress Enhanced Themes. Von der ersten Aktivierung bis zu fortgeschrittenen Hook-Anpassungen.
Inhaltsverzeichnis
Letzte Aktualisierung: 2024-12
Installation
Das GeneratePress Enhanced Theme kann uber drei Wege installiert werden. Wahlen Sie die Methode, die am besten zu Ihrem Workflow passt.
Methode 1: WordPress (*)-Dashboard
Methode 2: WP-CLI
Fur Entwickler, die uber die Kommandozeile arbeiten:
# Theme-Archiv herunterladen und installieren
wp theme install generatepress-enhanced.zip --activate
# Installation verifizieren
wp theme status generatepress-enhanced
# Prufen, ob das Theme korrekt geladen wurde
wp theme get generatepress-enhanced --field=status
Methode 3: Manueller Upload
# Per SSH oder SFTP den Theme-Ordner ubertragen
scp -r generatepress-enhanced/ user@server:/var/www/html/wp-content/themes/
# Alternativ: Entpacken direkt auf dem Server
unzip generatepress-enhanced.zip -d /var/www/html/wp-content/themes/
# Dateiberechtigungen setzen
chown -R www-data:www-data /var/www/html/wp-content/themes/generatepress-enhanced/
chmod -R 755 /var/www/html/wp-content/themes/generatepress-enhanced/
Voraussetzungen: WordPress (*) 6.4 oder hoher, PHP 8.1+. Stellen Sie sicher, dass Ihre Server-Umgebung diese Mindestanforderungen erfullt, bevor Sie das Theme aktivieren.
Einrichtung
Nach der Aktivierung konfigurieren Sie das Theme in wenigen Schritten. Die wichtigsten Einstellungen sind uber den WordPress (*) Customizer und den Site Editor zuganglich.
Statische Startseite festlegen
Das Theme ist fur eine statische Startseite konzipiert. Aktivieren Sie diese unter Einstellungen > Lesen.
// functions.php — Startseite programmatisch setzen
add_action('after_switch_theme', function () {
$home = get_page_by_path('home');
if ($home) {
update_option('show_on_front', 'page');
update_option('page_on_front', $home->ID);
}
});
Navigation konfigurieren
Die Hauptnavigation verwendet den WordPress-Seiten-Block (wp:page-list), der automatisch alle veroffentlichten Seiten anzeigt. Offnen Sie den Site Editor unter Design > Editor, um die Reihenfolge und Sichtbarkeit der Menupunkte anzupassen.
Typografie und Farben
Alle Designtokens sind in der theme.json definiert. Das Farbsystem basiert auf einer warmen Pergament-Palette mit einem einzigen Akzent in Petrolblau. Anpassungen nehmen Sie direkt in der theme.json oder uber die globalen Stile im Site Editor vor.
// Farbpalette im Site Editor uberschreiben
// Design > Editor > Stile > Farben
Hintergrund: #F8F7F3 (Parchment)
Text: #1C1B18 (Near-Black Ink)
Akzent: #1B6CA8 (Petrol Blue)
Gedampft: #6B6A63 (Muted Text)
Oberflache: #F5F4EF (Surface)
Gitterlinien: #E2E0DB (Gridline)
Hooks & Filter
GeneratePress Enhanced stellt eine Reihe von Action Hooks und Filtern bereit, die eine prazise Anpassung ohne Theme-Modifikation ermoglichen. Alle Hooks folgen der WordPress-Konvention und konnen in einem Child-Theme oder Plugin verwendet werden.
gpx_before_header
Wird unmittelbar vor dem Header-Template-Part ausgefuhrt. Ideal fur Benachrichtigungsleisten, Cookie-Banner oder Ankunding-Streifen.
add_action('gpx_before_header', function () {
echo '<div class="announcement-bar">';
echo ' Wartungsarbeiten am 15. Januar — Details im Blog';
echo '</div>';
});
gpx_after_header
Wird direkt nach dem Header ausgefuhrt. Nutzlich fur Breadcrumbs oder sekundare Navigationsebenen.
add_action('gpx_after_header', function () {
if (function_exists('yoast_breadcrumb')) {
yoast_breadcrumb(
'<nav class="breadcrumb-bar" aria-label="Breadcrumb">',
'</nav>'
);
}
});
gpx_theme_palette
Filter zum Erweitern oder Uberschreiben der Farbpalette zur Laufzeit. Gibt ein assoziatives Array mit Slug-Farbe-Paaren zuruck.
add_filter('gpx_theme_palette', function (array $palette): array {
// Zusatzliche Markenfarbe hinzufugen
$palette['brand-coral'] = '#FF6B5A';
// Bestehende Farbe uberschreiben
$palette['petrol'] = '#0D5C94';
return $palette;
});
gpx_enqueue_assets
Action Hook, der nach dem Einreihen aller Theme-Assets feuert. Verwenden Sie diesen Hook, um zusatzliche Stylesheets oder Scripts einzubinden.
add_action('gpx_enqueue_assets', function () {
wp_enqueue_style(
'gpx-custom-forms',
get_stylesheet_directory_uri() . '/assets/forms.css',
['gpx-style'],
'1.0.0'
);
wp_enqueue_script(
'gpx-lightbox',
get_stylesheet_directory_uri() . '/assets/lightbox.js',
[],
'1.0.0',
true
);
});
gpx_content_width
Filter fur die maximale Inhaltsbreite. Standardwert: 800px. Nutzlich, wenn Sie bestimmte Seiten breiter oder schmaler rendern mochten.
add_filter('gpx_content_width', function (int $width): int {
// Breiteres Layout fur Portfolio-Seiten
if (is_page_template('page-portfolio')) {
return 1100;
}
return $width;
});
gpx_footer_credits
Filter zum Anpassen der Footer-Kreditzeile. Gibt den HTML-String der Kreditzeile zuruck.
add_filter('gpx_footer_credits', function (string $credits): string {
return sprintf(
'<p>© %d %s. Alle Rechte vorbehalten.</p>',
date('Y'),
get_bloginfo('name')
);
});
theme.json Konfiguration
Die gesamte Designgrundlage des Themes wird uber die theme.json gesteuert. Hier finden Sie die wichtigsten Konfigurationsbereiche mit Erlauterungen.
Layout-Einstellungen
Die Inhaltsbreite (contentSize) begrenzt den Fliesstext auf 800px fur optimale Lesbarkeit. Die erweiterte Breite (wideSize) erlaubt Feature-Grids und Bildergalerien bei 1280px.
{
"settings": {
"layout": {
"contentSize": "800px",
"wideSize": "1280px"
},
"useRootPaddingAwareAlignments": true
}
}
Typografie-Skala
Die Schriftgrossenskala verwendet fluide clamp()-Ausdrucke fur die grosseren Stufen, sodass Uberschriften auf breiten Bildschirmen atmen, ohne mobile Gerate zu uberladen.
{
"settings": {
"typography": {
"fluid": true,
"fontFamilies": [
{
"fontFamily": ""Inter", ui-sans-serif, system-ui, sans-serif",
"name": "Inter",
"slug": "primary"
},
{
"fontFamily": ""Fira Code", ui-monospace, Consolas, monospace",
"name": "Fira Code",
"slug": "mono"
}
],
"fontSizes": [
{ "slug": "x-small", "size": "0.75rem", "fluid": false },
{ "slug": "small", "size": "0.875rem", "fluid": false },
{ "slug": "medium", "size": "1rem", "fluid": false },
{ "slug": "large", "size": "1.125rem", "fluid": { "min": "1rem", "max": "1.125rem" } },
{ "slug": "x-large", "size": "1.5rem", "fluid": { "min": "1.25rem", "max": "1.5rem" } },
{ "slug": "xx-large", "size": "2.25rem", "fluid": { "min": "1.75rem", "max": "2.25rem" } },
{ "slug": "huge", "size": "3rem", "fluid": { "min": "2rem", "max": "3rem" } },
{ "slug": "display", "size": "3.75rem", "fluid": { "min": "2.5rem", "max": "3.75rem" } }
]
}
}
}
Farbpalette
Die Palette ist bewusst zuruckhaltend gehalten: Ein warmer Pergament-Hintergrund, Near-Black-Tinte fur Text und ein einzelner Petrolblau-Akzent fur interaktive Elemente.
{
"settings": {
"color": {
"defaultPalette": false,
"palette": [
{ "slug": "background", "color": "#F8F7F3", "name": "Background" },
{ "slug": "surface", "color": "#F5F4EF", "name": "Surface" },
{ "slug": "gridline", "color": "#E2E0DB", "name": "Gridline" },
{ "slug": "rule", "color": "#CBC9C2", "name": "Rule" },
{ "slug": "text-muted", "color": "#6B6A63", "name": "Text Muted" },
{ "slug": "text", "color": "#1C1B18", "name": "Text" },
{ "slug": "petrol", "color": "#1B6CA8", "name": "Petrol" },
{ "slug": "petrol-dark", "color": "#14507E", "name": "Petrol Dark" },
{ "slug": "petrol-light", "color": "#EBF3FA", "name": "Petrol Light" },
{ "slug": "white", "color": "#FFFFFF", "name": "White" }
]
}
}
}
Block-spezifische Stile
Einzelne Blocke konnen in der theme.json unter styles.blocks gezielt uberschrieben werden. Hier ein Beispiel fur den Button-Block:
{
"styles": {
"blocks": {
"core/button": {
"color": {
"background": "var:preset|color|petrol",
"text": "var:preset|color|white"
},
":hover": {
"color": {
"background": "var:preset|color|petrol-dark"
}
},
"typography": {
"fontSize": "var:preset|font-size|small",
"fontWeight": "600",
"letterSpacing": "0.05em",
"textTransform": "uppercase"
},
"border": { "radius": "0px" },
"spacing": {
"padding": {
"top": "var:preset|spacing|30",
"bottom": "var:preset|spacing|30",
"left": "var:preset|spacing|50",
"right": "var:preset|spacing|50"
}
}
}
}
}
}
Changelog
Alle Anderungen werden versioniert dokumentiert. Semantische Versionierung (SemVer) stellt sicher, dass Breaking Changes, neue Features und Bugfixes klar erkennbar sind.
1.0.0
2024-12-01
Initiales Release
- Vollstandiges Block-Theme basierend auf der GeneratePress 3.6.1 Architektur
- Swiss-Modernist Designsystem mit Raster-und-Tiefe-Prinzip
- 11-Farben-Palette mit warmem Pergament-Hintergrund und Petrolblau-Akzent
- Fluide Typografie-Skala mit Inter und Fira Code
- Modulares Spacing-System von 0.5rem bis 8rem
- WCAG AA-konforme Kontrastverhaltnisse auf allen Farbkombinationen
- Template-Parts fur Header und Footer mit vollstandiger Farbpaarung
- Sechs Loop-Layout-Varianten: Rail, List, Zigzag, Timeline, Magazine, Card Grid
- Scrollytelling-Effekte mit prefers-reduced-motion Unterstutzung
- Kontaktformular-Block mit REST-API-Persistierung
- Print-Stylesheet fur saubere Druckausgabe
0.9.0
2024-11-15
Release Candidate
- Farbpalette von 8 auf 11 Tokens erweitert (Surface, Outline, Petrol Light hinzugefugt)
- Button-Hover-Zustand auf Petrol Dark umgestellt fur besseres visuelles Feedback
- Code-Block-Rahmen von 2px auf 1px reduziert fur subtilere Darstellung
- Navigation: Mobile-Overlay-Hintergrund und -Textfarbe explizit deklariert
- Footer-Struktur uberarbeitet: Drei-Spalten-Layout mit Social Links
- Tabellen-Styling: Kompakte Mono-Header mit Uppercase-Tracking
0.8.0
2024-10-28
Beta
- Initiales Designsystem mit Raster-und-Tiefe-Ansatz etabliert
- theme.json Version 3 mit vollstandiger Farbpalette und Typografie-Skala
- Header- und Footer-Template-Parts als separate Dateien implementiert
- Globale Link-Stile mit Petrol-Farbgebung und Unterstrichen
- Inline-Code-Styling mit Petrol-Light-Hintergrund
- Basis-Responsive-Verhalten fur Columns-Block
0.7.0
2024-10-10
Alpha
- Projektstart: Analyse der GeneratePress 3.6.1 Architektur
- Designrichtung festgelegt: Swiss-Modernist mit Raster-Sensibilitat
- Erste Farbstudien: Pergament-Palette mit Petrolblau-Akzent
- Typografie-Evaluation: Inter und Fira Code als Fontpaar ausgewahlt
- Wireframes fur Hero-Section und Feature-Grid erstellt
Beitragen
GeneratePress Enhanced ist ein Open-Source-Projekt unter GPLv2-Lizenz. Pull Requests, Bug Reports und Feature-Vorschlage sind willkommen. Besuchen Sie das Repository fur Contribution Guidelines und offene Issues.
generatepress/3.6.1/enhanced
GPLv2 Lizenz
(*) Hinweis: Hinter einigen Links stehen Affiliate-Programme. Für Sie bleibt der Preis exakt derselbe, wir erhalten jedoch eine kleine Provision, die wir direkt in unsere kommenden Recherchen investieren. Vielen Dank, dass Sie unsere Arbeit auf diese Weise unterstützen!
Views: 0