Zum Inhalt springen
BeoHosting
BeoHosting
WordPress

WordPress Theme Development für Einsteiger

BeoHosting Team··11 Min. Lesezeit Lesezeit
WordPress Theme Development für Einsteiger

Warum eigene WordPress-Themes erstellen

WordPress als Website-Erstellungstool betreibt über 40 Prozent aller Websites im Internet, und das Verständnis, wie Themes funktionieren, öffnet die Tür zu einem riesigen Markt. Fertige Themes sind hervorragend für den schnellen Start einer Website, aber sie kommen oft mit unnötigem Code, begrenzten Anpassungsmöglichkeiten und Sicherheitsrisiken. Die Erstellung eines eigenen Themes gibt Ihnen vollständige Kontrolle über Aussehen, Leistung und Funktionalität der Website.

Theme-Entwicklung ist eine der gefragtesten WordPress-Fähigkeiten auf dem Freelance-Markt. Verwenden Sie zum Testen die WordPress-Hosting-Umgebung. Kunden sind bereit, erhebliche Summen für ein Custom Theme zu zahlen, das perfekt zu ihren Bedürfnissen passt. Beginnend mit dem Verständnis der Grundlagen können Sie schrittweise ein Portfolio aufbauen und Ihre Fähigkeiten bis zum Niveau eines professionellen Theme-Entwicklers verbessern.

WordPress-Theme-Struktur

Ein WordPress-Theme befindet sich im Ordner wp-content/themes/theme-name/ und enthält eine Reihe von PHP-, CSS- und JavaScript-Dateien, die zusammen das Aussehen und Verhalten der Website definieren. Ein minimales Theme benötigt nur zwei Dateien: style.css mit Meta-Informationen über das Theme und index.php als Fallback-Template. Ein professionelles Theme enthält jedoch viel mehr Dateien, die in einer logischen Struktur organisiert sind.

Grundlegende Theme-Dateien

  • style.css - Haupt-Stylesheet mit Meta-Informationen (Theme Name, Version, Author)
  • index.php - Fallback-Template, wenn kein spezifischeres Template existiert
  • functions.php - Registrierung von Theme-Funktionalitäten (Menüs, Widgets, Feature-Unterstützung)
  • header.php - Website-Header mit Navigation und Meta-Tags
  • footer.php - Website-Footer mit Skripten und Copyright-Informationen
  • sidebar.php - Seitenleiste mit Widget-Bereichen
  • single.php - Template zur Anzeige einzelner Blog-Beiträge
  • page.php - Template zur Anzeige statischer Seiten
  • archive.php - Template für Archivseiten (Kategorien, Tags, Datum)
  • 404.php - Template für nicht existierende Seiten

Template-Hierarchie

Die Template-Hierarchie ist das System, das WordPress verwendet, um zu bestimmen, welche Template-Datei für jede Seite geladen wird. Dies ist eines der wichtigsten Konzepte in der WordPress-Entwicklung. WordPress sucht nach dem spezifischsten Template, und wenn es es nicht findet, wechselt es zu einem allgemeineren, bis es zu index.php gelangt, das die letzte Option ist.

Zum Beispiel sucht WordPress zur Anzeige der Kategorie Nachrichten zuerst nach category-nachrichten.php, dann category-3.php (wobei 3 die Kategorie-ID ist), dann category.php, dann archive.php und schließlich index.php. Diese Hierarchie ermöglicht es Ihnen, spezifische Designs für verschiedene Teile der Website zu erstellen, ohne komplizierte Programmierung. Das Verständnis der Hierarchie ist entscheidend für effiziente Theme-Entwicklung.

Am häufigsten verwendete Template-Dateien

Für Blog-Beiträge geht die Hierarchie: single-{post-type}.php, single.php, singular.php, index.php. Für Seiten: page-{slug}.php, page-{id}.php, page.php, singular.php, index.php. Für Archive: category-{slug}.php, category.php, archive.php, index.php. Das Verständnis dieses Systems ermöglicht eine präzise Kontrolle über die Anzeige jedes Inhaltstyps.

Functions.php - Herz des Themes

Functions.php ist die wichtigste Datei in einem Theme, denn darin registrieren Sie alle Funktionalitäten, die Ihr Theme unterstützt. Diese Datei wird jedes Mal automatisch geladen, wenn das Theme aktiviert wird, und funktioniert ähnlich wie ein Plugin. Darin fügen Sie Unterstützung für Features hinzu, registrieren Menüs und Widget-Bereiche, binden CSS- und JavaScript-Dateien ein und definieren benutzerdefinierte Funktionen.

Was in functions.php definiert wird

  • Unterstützung für Thumbnail-Bilder: add_theme_support('post-thumbnails')
  • Registrierung von Navigationsmenüs: register_nav_menus()
  • Registrierung von Widget-Bereichen: register_sidebar()
  • Einbindung von CSS- und JS-Dateien: wp_enqueue_style() und wp_enqueue_script()
  • Unterstützung für HTML5-Elemente: add_theme_support('html5')
  • Benutzerdefinierte Bildgrößen: add_image_size()
  • Unterstützung für Custom Logo: add_theme_support('custom-logo')

Die Schlüsselregel ist, niemals CSS- und JavaScript-Dateien direkt in header.php oder footer.php über HTML-Tags einzubinden. Verwenden Sie stattdessen immer wp_enqueue_style() und wp_enqueue_script() in functions.php, da dies WordPress ermöglicht, Abhängigkeiten ordnungsgemäß zu verwalten, Duplikate zu vermeiden und anderen Plugins zu ermöglichen, mit Ihren Skripten zu interagieren.

WordPress-Schleife (The Loop)

Die WordPress-Schleife ist PHP-Code, der den Inhalt von Beiträgen oder Seiten anzeigt. Jedes Template, das Inhalt anzeigt, verwendet die Schleife zur Iteration durch die Abfrageergebnisse. Das Verständnis der Schleife ist fundamental, da sie der Mechanismus ist, der Ihr Template mit dem Inhalt aus der Datenbank verbindet.

Die grundlegende Struktur der Schleife verwendet eine while-Schleife mit den Funktionen have_posts() und the_post(). Innerhalb der Schleife verwenden Sie Template-Tags wie the_title(), the_content(), the_excerpt(), the_permalink() und the_post_thumbnail() zur Anzeige verschiedener Inhaltsteile. Die Schleife können Sie mit der WP_Query-Klasse anpassen, um benutzerdefinierte Abfragen zu erstellen, die genau die Beiträge zurückgeben, die Sie anzeigen möchten.

Benutzerdefinierte Abfragen mit WP_Query

Die WP_Query-Klasse ermöglicht die Erstellung vollständig angepasster Abfragen für Beiträge. Sie können nach Kategorie, Tag, benutzerdefinierter Taxonomie, Datum, Autor und Meta-Feldern filtern. Beispielsweise können Sie die letzten 3 Beiträge aus der Kategorie Nachrichten anzeigen oder alle Produkte mit einem Preis unter 10 Euro. WP_Query ist ein mächtiges Werkzeug, das Ihnen vollständige Kontrolle darüber gibt, welcher Inhalt angezeigt und wie er sortiert wird.

Template-Tags und Custom Fields

Template-Tags sind PHP-Funktionen, die WordPress zur Anzeige dynamischer Inhalte in Themes bereitstellt. Neben den grundlegenden Tags für Titel und Inhalt gibt es Dutzende spezialisierter Tags zur Anzeige von Autor, Datum, Kategorien, Tags, Kommentaren und Navigation. Die Dokumentation auf developer.wordpress.org ist eine unschätzbare Ressource zum Kennenlernen aller verfügbaren Template-Tags.

Custom Fields (Meta-Felder) erweitern Standard-Beiträge und -Seiten mit zusätzlichen Daten. Mit dem ACF (Advanced Custom Fields) Plugin oder nativen WordPress-Funktionen können Sie Felder für Preis, Standort, Galerie, Bewertungen und alles andere hinzufügen, was Ihre Website benötigt. Custom Fields in Kombination mit Custom Post Types ermöglichen WordPress, als vollständiges CMS für jeden Inhaltstyp zu funktionieren.

Nächste Schritte

Nach dem Beherrschen der Grundlagen erkunden Sie fortgeschrittene Themen wie Child-Themes. Sehen Sie sich die WordPress-Website-Optimierung für SEO als nächsten Schritt an. Andere fortgeschrittene Themen umfassen sicheres Anpassen bestehender Themes, Block-Theme-Entwicklung für WordPress Full Site Editing, REST API für Headless WordPress und WP-CLI zur Theme-Verwaltung über die Befehlszeile. Das WordPress-Ökosystem ist riesig und es gibt immer etwas Neues zu lernen. Beginnen Sie mit einem einfachen Theme, fügen Sie schrittweise Funktionalitäten hinzu, und bald werden Sie sich sicher beim Erstellen professioneller WordPress-Themes fühlen.

BeoHosting Team

10+ Jahre Erfahrung — Spezialisten für Webhosting und Infrastruktur

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Zuletzt aktualisiert: