Für viele Projekte braucht es lediglich einen Bruchteil der Funktionalität und des Codes sogenannter “Premium”-Themes oder Frameworks – denen dafür andere, wichtige Features oft fehlen. Um die Projektanforderungen und das gewünschte Design entsprechend umzusetzen, ist es dann deutlich sinnvoller, ein individuelles Theme zu entwickeln. Die Anwender erhalten so ein intuitives und übersichtliches System mit den Optionen, die sie wirklich brauchen. Und der Browser schlankeren Code ohne unnötigen Ballast. In diesem Talk geht es um folgende Themen:
Wozu überhaupt ein Theme selbst entwickeln? Performance, Sicherheit, Benutzerfreundlichkeit, Design
Anatomie eines Themes: Welche Dateien brauchen wir? Von einem leeren Verzeichnis ausgehend arbeiten wir uns bis zu einem Theme vor, das WP als solches akzeptiert.
Erweiterung durch Custom Post Types und Custom Fields
Tools, die den Workflow bei der Entwicklung erleichtern: grunt, git…
2. Stefan Fröhlich
• 1984: Basic und 6510-Assembler mit C-64
• seit 1995 freiberuflicher Entwickler
• seit 2012:WordPress
• anfangs Anpassung vonThemes und Plugins
• nach kurzer Zeit ausschließlich Entwicklung
kundenspezifischerThemes
• Administrator etlicher WP-Installationen
stefan@froehlich.it
4. „Premium“-Themes und Frameworks
• unnötige Funktionalität und Code
• wichtige Projektanforderungen fehlen
• ergänzende Plugins haben häufig dieselben Probleme:
viele Optionen, aber nicht die erforderlichen
6. PageSpeed-Ergebnis
• Out of the box: eher unerfreulich
• Abhilfe:
entsprechendes Hosting (Kosten/ Administration)
oder
Plugins (funktioniert oft nicht)
oder
Aufwand für Optimierung
7. Günstiger Preis, aber zusätzliche Kosten
• unnötige Features entfernen
• erforderliche Features implementieren
• Anpassungen an Design oder Corporate Identity des Kunden
• Bugfixing
• zusätzlicherTestaufwand durch Bugfixing und CSS-Anpassung
8. Sicherheit
• beliebteThemes haben auch beliebte
Sicherheitslücken
• Sicherheitslücken der in dasTheme
integrierten Plugins
• Kein Problem, wenn regelmäßig alles
aktualisiert wird, aber die Praxis sieht
oft anders aus.
11. • Genau die gewünschte Funktionalität - nicht zuviel, nicht zuwenig
• Übersichtliches Backend, das ebenfalls den Kundenwünschen
entsprechend aufgebaut ist
12. • Keine bekannten Sicherheitslücken
• Schlanker Code
• bessere Performance
• weniger CSS- und JS-Dateien
22. WeitereTemplate-Dateien
• sidebar.php: Darstellung der Seitenleiste(n)
• functions.php: Festlegen globaler Einstellungen, z.B. Skripts und Styles einbinden oder ausschließen
• front-page.php: Startseite für „letzte Beiträge“ oder „statische Seite“
• home.php: Startseite für „letzte Beiträge“
• page.php:Template für die Darstellung von Seiten
• single.php:Template für einzelner Beiträge
• category.php, archive.php: Darstellung von Kategorieren / Archiven
Weiterführende Links:
https://developer.wordpress.org/themes/basics/template-hierarchy/
https://codex.wordpress.org/Theme_Development#Template_Files
33. Versionierung mit git
• Versionskontrolle mit git dringendst zu empfehlen für jedes Projekt
• öffentliche Projekte: https://github.com
• vertrauliche Projekte: privates Repository, z.B. auf https://bitbucket.org