Ich rezensiere und bewerte hier das Handbuch „WordPress-Themes entwickeln“ von Gino Cremer, erschienen 2013 im Franzis Verlag.
Rezension: WordPress-Themes entwickeln
Autor: Gino Cremer, Adrian Lambertz
Verlag: Franzis
Auflage: 2013
Seiten: 271
ISBN: 978-3-645-60230-3
Preis: 30 € als Softcover | 19,99 € als ebook
Der deutschsprachige Belgier Gino Cremer hat bereits 2 Bücher bei Franzis zum Thema WordPress veröffentlicht, die in der Regel sehr gut aufgenommen wurden.
Sein Handbuch „WordPress-Themes entwickeln“ wendet sich an Anwender, die vor dem Wechsel von WordPress-Anwendern zu (Theme)Entwicklern stehen bzw. tiefer in die Arbeit mit Themes eintauchen möchten. Nicht jeder, der die Logik und Arbeitsweise von WordPress Themes verstehen möchte, will auch gleich welche programmieren. Manchmal sind es nur kleine Änderungen, für die ein Child Theme erstellt werden muss. Oder der Footer soll widgetfähig gemacht werden.
Für solche Fälle muss man nicht das ganz große Programmierbesteck auspacken. Da hilft auch der Blick in so eine Veröffentlichung.
Das Buch gliedert sich in etwas magere 10 Kapitel, wobei die Kapitel 4,5,6 und 9 am ausführlichsten behandelt werden.
- Grundlagen
- Theme-Struktur und Aufbau
- Child-Themes
- Von der Vorlage zum Basis-Theme
- Das Theme erweitern
- Das Theme optisch aufwerten
- Hooks, Shortcodes und die functions.php
- Codeschnipsel (Snippets)
- Seitentypen, Taxonomien und benutzerdefinierte Felder
- Das Theme testen
Positiv hervorzuheben: Cremer beginnt recht bald mit dem Thema Child-Theme. Und das zu recht. Das Stichwort Child-Theme fällt in den Foren als Erstes, sobald Anfänger nach Änderungen in den Theme-Dateien fragen.
Das Dummy-Theme wird auf der Basis des Bootstrap Frameworks durchexerziert, wobei hier HTML5 Boilerplate mit Initializr eingesetzt werden. Das ist für Anfänger keine schlechte Vorgehensweise, aber ein kleiner Verweis auf Alternativen wie Foundation, Skeleton und das zum Beispiel offizielle Startertheme von Automattic hätte nicht geschadet.
Dieser Bereich ist dann auch umfangreich und erklärt den Aufbau der wichtigstens Theme-Dateien wie header.php, index.php, sidebar.php, page.php, single.php, category.php, comments.php, search.php, 404.php, author.php und footer.php wie man es von einem guten Handbuch erwarten würde.
Wenn es darum geht, das Theme nun optisch aufzuwerten und nach eigenen Bedürfnissen umzugestalten, muss der Leser bereits Kenntnisse in CSS mitbringen. Man erwartet zwar keine umfassende Einführung in Cascading Stylesheets (dafür ist andere Literatur da), aber der Einstieg erfolgt doch etwas abrupt. Für die Farbgestaltung wird Adobe Kuler empfohlen. Für eine bessere Typographie: Google Fonts.
Nach diesen eher als Fingerübungen anzusehenden Grundlagen nähert man sich in Kapitel 7 den vielen kleinen Helfern von WordPress: Hooks und functions.php.
Erfreulich, dass Cremer die Vor- und Nachteile zwischen der functions.php und einem Plugin vorab bespricht. Andere Autoren oder Entwickler legen sich da auf eine Variante fest und basta.
Im nächsten Kapitel (das ich aufgrund der thematischen Verwandschaft mit dem vorhergehenden verschmolzen hätte) werden einige recht nützliche Code Snippets aufgeführt und erklärt, wie man diese zu seinem Theme hinzufügen kann.
Was nun folgt, wird selbst für den ambitionierten Anfänger zu schwer sein: Taxonomien, Seitentypen, Custom Post Types. Zwar fängt hier die Arbeit mit WordPress Themes erst richtig an, aber allein mit CPT kann man ein ganzes Buch füllen. So bleibt denn hier, abgesehen von viel Pseudocode, kein Platz für tiefgreifende Erläuterungen.
Den Ausbau von CPT mit Custom Fields würde ich auch erst einmal über von Hand programmierte Beispiele erläutern, aber zum Schluss das Advanced Custom Fields Plugin erwähnen – dieses grandiose Schweizer Taschenmesser im Umgang mit Benutzerdefinierten Felder.
Mit dem letzten Kapitel „Das Theme testen“ kann ich ehrlich gesagt wenig bis gar nichts anfangen. Wo ist der Hinweis auf das Theme Check Plugin, das von den WordPress Leuten für genau diesen Zweck empfohlen wird?
Ein Theme Test würde bei mir in erster Linie auf Sicherheitsbelange erfolgen. Gibt das Theme an irgendeiner Stelle sensible Benutzerdaten aus? Lassen sich unerlaubte Dateitypen hochladen? Werden veraltete Bibliotheken geladen oder Wackelkandidaten wie timthumb?
Was mir sprachlich am Einsteigerbuch sehr gut gefallen hat, funktioniert hier leider nicht mehr.
Bei einem Buch mit einem so speziellen Thema wie der Programmierung von WordPress Themes erwarte ich, dass der Leser sich bereits auf einen Wissensstand gebracht hat, der diese ausführlichen und bebilderten Erklärungen überflüssig macht. Es dauert etwa 100 Seiten (!), bis der Leser zu ersten echten Schwerpunkt in der Theme-Entwicklung vordringt.
Es ist natürlich nichts falsch daran, den Leser bei der Hand zu nehmen und ihm alles haarklein zu erklären – aber Cremer selbst hat bereits ein Einsteigerbuch veröffentlicht, in dem er die Basics des Template-Systems hätte anreißen können. Jetzt müssen wir teils sehr langatmig auf zig Seiten lesen, welche Standard-Template-Dateien in WordPress existieren und dass sie im Prinzip immer nur eine Abwandlung der index.php sind. Das bekommt man in einem 2-Seiten Artikel kürzer, knackiger, prägnanter hin.
Noch eine Sache, von der ich im Vergleich zum Vorgänger nicht begeistert bin. Das Entwickler-Addon Firebug reicht mir als Werkzeugtip von einem Profi nicht aus. Bei der professionellen Theme-Entwicklung erwarte ich skizzierte Arbeitsabläufe, Hinweise auf Texteditoren oder IDEs, neue Design-Paradigma wie LESS/SASS sowie einen kleinen Exkurs in CVS wie Github.
Fazit
Alles in allem erfüllt das Buch sein Versprechen und der Leser sollte zum Ende hin in der Lage sein, ein eigenes WordPress Theme zu erstellen und erfolgreich zum Laufen zu bringen. Dass das Theme kein großen optischen Schmankerl oder Features bietet – geschenkt.
Es funktioniert und der Leser ist auch in der Lage, (teilweise) den Aufbau anderer Themes zu verstehen, sofern es sich nicht umausgewachsene Frameworks handelt.
Ich hätte mir gewünscht, dass mehr Entwicklerwerkzeuge und -methoden vorgestellt werden und der CSS Bereich deutlich größer ausgefallen wäre. Nicht jeder möchte ein Bootstrap Theme.
Auch hätte ich gern erfahren, wie ich mit Theme Options arbeite, um dem Endanwender eine größere Flexibilität zu bieten, falls ich das Theme verkaufen möchte.
Von diesen verbesserungsfähigen Punkten abgesehen, kann und möchte ich das Buch empfehlen – weil Cremer (mit Abstrichen) in der Lage ist, mit wenigen Worten (das Buch ist sogar 30 Seiten kürzer als das Einführungsbuch) eine nicht ganz einfachere Materie dem Leser nahezubringen. Zu Beginn etwas langatmig und schwerfällig steigert er sich und findet zur sachlichen und schnörkellosen Erklärbär-Sprache, wie sie schon das Vorgängerbuch ausgezeichnet hat.