E-Book, Deutsch, 1006 Seiten
Reihe: Rheinwerk Computing
Simeth WordPress – Plugins, Themes und Blöcke entwickeln
1. Auflage 2022
ISBN: 978-3-8362-9000-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
E-Book, Deutsch, 1006 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-8362-9000-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Mit der Entwicklung eigener Plugins, Themes und Blöcke erschließen Sie sich das gesamte Potenzial von WordPress – ohne Einschränkungen und ganz nach Ihren Bedürfnissen. Florian Simeth führt Sie in die Grundlagen der professionellen Entwicklung ein und stellt Ihnen das vollständige Expertenwissen für Ihren Erfolg zur Verfügung. Sie steigen tief in die Entwicklungsprozesse ein und lernen die relevanten APIs kennen. Profitieren Sie von zahlreichen Beispielprojekten und Best Practices . Inkl. UX-Crashkurs für gutes Webdesign. Aktuell zu WordPress 6.
- Das Handbuch für Entwickler und Agenturen
- Entwicklungsumgebung kennenlernen, Konzepte verstehen, Best Practices einsetzen
- Inkl. APIs, Full-Site-Editin, Debugging, eigene Inhaltstypen, Internationalisierung, Multisite u.v.m.
Aus dem Inhalt:
- Die ersten Schritte im Entwicklungsprozess
- Plugins, Themes und Blöcke entwickeln
- Crashkurs UX für gutes Theme-Design
- Performance, Sicherheit, Privatsphäre
- jQuery, React und Underscore in WordPress nutzen
- Internationalisierung
- Fehler finden und beheben: Debugging
- Eigene Inhaltstypen
- Externe Daten nachladen
- Auf Datenbanken zugreifen
- Arbeiten mit der REST-API
- Multisite-Umgebung aufsetzen
- Inhalte dynamisch einfügen
Autoren/Hrsg.
Weitere Infos & Material
Materialien zum Buch ... 20
Vorwort ... 21
TEIL I. Die Entwicklungsumgebung kennenlernen ... 27
1. Erste Schritte im Entwicklungsprozess ... 29
1.1 ... WordPress installieren ... 31
1.2 ... Lokale Laufzeitumgebungen ... 42
1.3 ... Entwickeln mit dem Texteditor? ... 45
1.4 ... Software-Entwicklungstools einrichten ... 47
2. Bewährte Konzepte bei der Entwicklung mit WordPress ... 57
2.1 ... Der Slug: Den Namen für das Projekt richtig wählen ... 57
2.2 ... Den richtigen Lizenzvertrag wählen ... 59
2.3 ... Coding-Standards: Welche sollten verwendet werden? ... 62
2.4 ... Dokumentationsstandards: Welche sollten verwendet werden? ... 77
2.5 ... Präfixe und Namespaces ... 83
2.6 ... Objektorientierung in WordPress ... 85
2.7 ... Empfohlene Datei- und Verzeichnisstrukturen ... 85
2.8 ... Online-Nachschlagewerke für die WordPress-Entwicklung ... 88
3. Überall alles verändern: Die Hooks als Grundkonzept in WordPress ... 93
3.1 ... Was sind Actions und Filter? ... 94
3.2 ... Häufig genutzte Actions und Filter in WordPress ... 104
3.3 ... Filter und Actions finden ... 107
3.4 ... Arbeiten mit Filtern und Actions ... 111
TEIL II. Plugins, Themes und Blöcke entwickeln ... 127
4. Ein Plugin erstellen ... 129
4.1 ... Grundwissen zu Plugins ... 129
4.2 ... Das erste eigene Plugin ... 144
4.3 ... Pfadangaben ... 162
5. Ein Theme erstellen ... 175
5.1 ... Grundwissen zu Themes ... 175
5.2 ... Crashkurs: Gutes Webdesign ... 188
5.3 ... Ein Classic-Theme erstellen ... 208
5.4 ... CSS für Themes ... 269
5.5 ... Seitenleisten und Widgets erstellen ... 286
5.6 ... Menüs erstellen ... 301
5.7 ... Wenn Themes Kinder bekommen: Child-Themes ... 306
5.8 ... Ein Block-Theme entwickeln ... 308
5.9 ... Themes testen ... 329
5.10 ... Zusammenfassung ... 333
6. Einstellungsseiten generieren und das Dashboard erweitern ... 335
6.1 ... Haupt- und Untermenüs erstellen ... 335
6.2 ... Konsistenz im Layout: Die WordPress-UI nutzen ... 342
6.3 ... Einstellungsfelder generieren ... 358
6.4 ... Dashboard-Widgets erstellen ... 373
7. Performance und Sicherheit ... 379
7.1 ... WordPress-Projekte absichern ... 379
7.2 ... Den Turbo aktivieren: Mehr Performance in WordPress-Projekten ... 411
8. CSS und JavaScript in WordPress ... 429
8.1 ... Skripte registrieren, einhängen und entfernen ... 431
8.2 ... Integrierte JS- und CSS-Dateien in WordPress ... 441
8.3 ... Backbone und Underscore ... 445
8.4 ... Crashkurs jQuery ... 446
8.5 ... Crashkurs React ... 460
8.6 ... Internationalisierung ... 485
8.7 ... Hintergrundaktivitäten mit der Heartbeat-API ... 489
9. Einen Block erstellen ... 495
9.1 ... Grundwissen zu Blöcken ... 496
9.2 ... Einen Block erstellen ... 501
9.3 ... Block-Vorlagen erstellen ... 546
10. Internationalisierung ... 555
10.1 ... Grundwissen ... 556
10.2 ... Übersetzungsdateien und Gettext ... 557
10.3 ... Ein Plugin zur Übersetzung vorbereiten ... 557
10.4 ... Ein Theme zur Übersetzung vorbereiten ... 560
10.5 ... Übersetzungsfunktionen ... 561
10.6 ... JavaScript-Inhalte (und Blöcke) übersetzen ... 567
10.7 ... Eine Übersetzungsdatei erstellen ... 569
11. Fehler finden und beheben: Das Debugging ... 581
11.1 ... Kompatibilität ... 582
11.2 ... Error-Logging in WordPress ... 588
11.3 ... Debugging aktivieren und Skripte analysieren ... 597
11.4 ... Ein WordPress-Plugin zum Debuggen ... 605
11.5 ... JavaScript debuggen ... 607
TEIL III. Ihr Projekt erweitern und individualisieren ... 611
12. Schöne URLs mit der Rewrite-API ... 613
12.1 ... Warum »schöne« URLs? ... 613
12.2 ... Was ist ein Permalink in WordPress? ... 614
12.3 ... Wie WordPress schöne URLs auflöst ... 616
12.4 ... Eigene Permalink-Strukturen anlegen ... 624
12.5 ... Ein alternativer Weg zu neuen Permalink-Strukturen ... 636
13. Mit eigenen Inhaltstypen arbeiten ... 641
13.1 ... Benutzerdefinierte Artikeltypen ... 641
13.2 ... Benutzerdefinierte Taxonomien ... 660
13.3 ... Das Kind braucht einen Namen: Terme für Taxonomien erstellen ... 670
13.4 ... Zusätzliche Daten zu Inhalten speichern mit der Metadaten-API ... 674
13.5 ... Mit Inhaltstypen im Frontend arbeiten ... 686
14. Externe Daten nachladen mit der HTTP-API ... 697
14.1 ... Was ist eine HTTP-Abfrage? ... 698
14.2 ... HTTP-Abfragen mit WordPress ... 702
15. Die Schnittstelle zur Außenwelt: Die REST-API ... 719
15.1 ... Was bedeutet »REST«? ... 719
15.2 ... Abgrenzung zu HTTP ... 720
15.3 ... Schlüsselkonzepte der REST-API ... 721
15.4 ... Mit Endpunkten arbeiten ... 725
15.5 ... Die REST-API mit eigenen Routen erweitern ... 744
15.6 ... Controller-Klassen nutzen ... 766
15.7 ... Mit Metadaten und REST-Feldern arbeiten ... 768
16. Benutzer- und Rechtemanagement ... 785
16.1 ... Arbeiten mit Benutzern ... 786
16.2 ... Rollenverteilung: Rollen und Benutzer-Befugnisse (Capabilities) ... 801
16.3 ... Daten zu Benutzern speichern: Die Metadata-API ... 819
17. Zugriff auf die Datenbank ... 825
17.1 ... Eigene Datenbank-Verbindungen ... 825
17.2 ... Benutzerdefinierte Tabellen ... 827
17.3 ... Die wichtigsten Datenbank-Klassen in WordPress ... 849
18. Dateien auf dem Laufwerk manipulieren ... 873
18.1 ... Was ist die Filesystem-API? ... 873
18.2 ... Mögliche Einsatzzwecke ... 873
18.3 ... Lokale Daten manipulieren ... 875
18.4 ... Entfernte Daten manipulieren ... 893
19. Zeitgesteuerte Aufgaben (Cronjobs) ... 897
19.1 ... Was ist ein Cronjob? ... 897
19.2 ... Planung von Cron-Ereignissen ... 900
19.3 ... Eigene Intervalle erstellen ... 905
19.4 ... Einen Cronjob neu planen ... 906
19.5 ... Ein einzelnes Event planen ... 907
20. WordPress auf der Kommandozeile: Die WP-CLI ... 911
20.1 ... Was ist die WP-CLI und wofür braucht man sie? ... 911
20.2 ... WP-CLI installieren und konfigurieren ... 913
20.3 ... WP-CLI-Befehle auf der Kommandozeile nutzen ... 915
20.4 ... Eigene CLI-Befehle programmieren ... 920
21. Mehrere Websites in einer Installation: Die Multisite-Umgebung ... 937
21.1 ... Eine Multisite-Installation durchführen ... 939
21.2 ... Datenbanken ... 945
21.3 ... Multisite-Funktionen ... 946
21.4 ... Benutzer in Multisite-Umgebungen verwalten ... 957
22. Inhalte dynamisch einfügen mit der Shortcode-API ... 961
22.1 ... Was sind Shortcodes? ... 961
22.2 ... Eigene Shortcodes registrieren ... 964
22.3 ... Shortcode-Funktionen ... 969
23. Alles gesund? Die Site-Health-API ... 971
23.1 ... Der Website-Status ... 971
23.2 ... Website-Bericht ... 975
Schlusswort ... 979
Index ... 981
Vorwort
WordPress ist ein Wunderkind. Kein anderes Content-Management-System (CMS) ist in den letzten Jahren so stark gewachsen. Anfang 2022 wird WordPress von knapp 43 % aller Websites verwendet, die von W3Techs[ 1 ] ausgewertet werden. Das entspricht derzeit einem Marktanteil von 64 %[ 2 ]. Und dem kann man ruhig Glauben schenken, wenn man bedenkt, dass mittlerweile Größen wie das Lifestylemagazin Vogue, Sony Music oder die Blogs der Frankfurter Allgemeinen Zeitung auf WordPress setzen.[ 3 ]
Seit 2004 steht WP, wie WordPress oft kurz genannt wird, nun schon zum Download bereit. Im Januar 2004 gab Matt Mullenweg, einer der Gründer, WordPress für die globale Verwendung frei.
Ursprünglich entstand WordPress aus dem Weblogsystem b2/cafelog, das zur damaligen Zeit nicht mehr weiterentwickelt wurde. Nun könnte man meinen, dass WordPress lediglich ein Blogging-System sei. Über die letzten fast 20 Jahre hat es sich aber sehr umfangreich weiterentwickelt, was letztlich auch dazu beitrug, dass es so stark wachsen konnte. Dabei hat es andere beliebte Systeme wie Drupal und Joomla weit hinter sich gelassen. (Drupal und Joomla! haben nur noch einen Marktanteil von nicht einmal 2 %.
Was macht WordPress so beliebt? Zum einen ist es als Open-Source-Software kostenlos verfügbar. Seit jeher können nicht nur Unternehmen, sondern auch Individualisten eine Website erstellen und bearbeiten. Ganz easy. Letztlich war genau das die Intention von Matt: Eine Website soll von jedem sehr einfach und ohne großes technisches Know-how erstellt und verwaltet werden können.[ 4 ] Und genau das hat die Community schlicht richtig gemacht. Durch die berühmte 5-Minuten-Installation kann jeder ohne Programmierkenntnisse in genau dieser Zeit loslegen. Erstellen einer Datenbank? Konfiguration von PHP-Dateien? Bei der Nutzung der 5-Minuten-Installation ist die Konfiguration von PHP-Dateien nicht notwendig. Viele namhafte Webhoster gehen inzwischen aber noch weiter. Die 1-Klick-Installation ist mittlerweile Standard. Das heißt: Die Einrichtung erfolgt vollautomatisch.
Nicht zuletzt die Webhoster waren es, die die konstante Weiterentwicklung des WordPress-Kerns maßgeblich vorangetrieben haben. Viele der auf WordPress spezialisierten Unternehmen machen beispielsweise beim Five for the Future-Programm[ 5 ] mit. Dabei sind alle dazu aufgefordert, 5 % ihrer Ressourcen für die WordPress-Entwicklung zur Verfügung zu stellen. Oft werden extra Arbeitnehmer angestellt, um diese freiwillige Vorgabe zu erfüllen. So können einige Personen Vollzeit am WordPress-Kern, den Übersetzungen, an Dokumentationen, im Bereich Design und in vielen weiteren Teilbereichen arbeiten. Denn WordPress besteht aus mehr als nur aus dem Code.
Die konstante Weiterentwicklung, die sehr starke Verbreitung und nicht zuletzt die Unterstützung der gesamten Community haben dazu geführt, dass aus WordPress nicht mehr nur ein umfangreiches Content-Management-System, sondern mittlerweile eine »Web-Plattform« geworden ist. Würde man heute eine solche Plattform entwickeln wollen, würde es 151 Jahre dauern.[ 6 ]
Es war noch nie sinnvoll, das Rad neu zu erfinden. Sie werden in diesem Buch sehen, wie einfach es ist, WordPress in kürzester Zeit aufzusetzen und so eine Plattform mit funktionsfähiger Benutzerverwaltung einzurichten, die sich auch noch von außen über eine REST-Schnittstelle[ 7 ] steuern lässt. Projekte lassen sich auf diese Weise sehr schnell umsetzen, ohne dass Sie sich im Detail mit diversen Thematiken auseinandersetzen müssen.
WordPress macht es Ihnen einfach, Erweiterungen zu entwickeln. Doch auch nach so vielen Jahren gibt es ein großes Problem: Die Dokumentation ist noch immer unvollständig und auf Deutsch nicht verfügbar. Inhalte lassen sich zwar kostenlos im Netz finden. Diese sind jedoch oft weit verstreut, in kleine Code-Schnipsel zerteilt und nicht selten einfach so alt, dass sie in einem neuen Projekt gar nicht mehr funktionieren würden. Deshalb möchte ich Ihnen mit diesem Buch einen umfangreichen Einblick in die WordPress-Entwicklung geben.
Für wen ist dieses Buch?
Der Schwerpunkt des Buches liegt darauf, Ihnen zu zeigen, wie Sie mit WordPress professionelle Plugins, Themes und Blöcke entwickeln können.
Dabei richtet es sich in erster Linie an Entwickler und Entwicklerinnen, die bereits Programmiererfahrung haben, sich schnell einarbeiten können und sich nicht erst durch unzählige Blogeinträge und Tutorials arbeiten möchten. Der Umfang dieses Buches ist sehr groß. Nicht zuletzt, weil WordPress mittlerweile sehr mächtig geworden ist. Dazu kommt, dass in typischen Webprojekten viele Frameworks zum Einsatz kommen können. Diese möchte ich in diesem Buch ebenfalls mit Crashkurs-Kapiteln anführen. Somit ist mein Buch ideal, wenn Sie mit WordPress neu starten, oder aber auch für Programmiererinnen und Programmierer, die etwas nachschlagen wollen.
Ich selbst bin seit mehr als 20 Jahren Webentwickler und beschäftige mich seit 15 Jahren mit WordPress. Lange gab es keine vollständig deutschsprachige Anleitung, die sich mit der WordPress-Entwicklung eingehend befasste. Dadurch entstand meine Website wp-plugin-erstellen.de, die sich als eine Art deutsche Funktionsreferenz versteht. Aber der Kern von WordPress verändert und erweitert sich ständig. Das stellte ich nicht zuletzt während meiner Recherchearbeiten für meinen monatlichen Newsletter (https://revue.florian-simeth.de) fest. Es war an der Zeit für etwas Umfangreicheres und eine Darstellung der Zusammenhänge und Grundlagen. Etwas, das den Einstieg erleichtert, aber auch einen guten Überblick über die die professionelle Entwicklung mit WordPress gibt. Etwas, das Sie immer wieder zur Hand nehmen können, wenn ein neues Projekt ansteht. Und genau das soll das Ziel dieses Buchs sein. Wenn Sie es gelesen haben, haben Sie die Kernkonzepte der Plattform verstanden, können Entwurfsmuster erkennen und anwenden und wissen, welche Möglichkeiten Ihnen für einen professionellen Entwicklungsprozess mit WordPress zur Verfügung stehen.
Der Aufbau des Buches
Nun stellt sich die Frage: Wie soll ein umfassendes Handbuch für die WordPress-Entwicklung aufgebaut sein? Dazu habe ich mir persönlich meinen Workflow angesehen, hier am Beispiel eines Plugins.
In der Regel beginnt mein Workflow mit der Einrichtung der Entwicklungsumgebung. Danach setze ich das Plugin initial auf und richte es ein. Dazu gehört das Erstellen von JavaScript-, CSS- sowie von Übersetzungsdateien. Meist steht fest, welche Einstellungsmöglichkeiten ein Plugin haben soll. Die Einstellungsseiten lege ich in diesem zweiten Schritt meist schon an. Zwar entsteht hier bereits Code, aber das eigentliche »Befüllen« des Plugins mit Inhalt erfolgt erst im dritten Schritt. Und der ist ganz individuell und der geschriebene Code richtet sich danach, was das Plugin können muss.
Wird der obige Workflow zugrunde gelegt, ist ein Basis-Kapitel unumgänglich. Im ersten Teil beginnt das Buch daher mit einer umfassenden Beschreibung der Entwicklungsumgebung. Hier werden Sie lernen, wie WordPress lokal installiert wird und wie es optimal mit einem Entwicklungstool verbunden wird. Danach beschreibe ich einige Konzepte, die sich in der WordPress-Entwicklung bewährt haben. Am Ende des ersten Teils geht es dann schon ans Eingemachte. Sie werden lernen, was Actions (dt. »Aktionen«) und Filter sind. Das Verständnis dieser sogenannten Hooks ist unerlässlich für alle nachfolgenden Kapitel. Denn damit lässt sich, wie die englische Bezeichnung vielleicht schon erkennen lässt, eigener Code in WordPress »einhaken«.
Im Hauptteil des Buches (Teil 2) beschäftigen wir uns dann eingehend mit der Entwicklung von Plugins, Themes und Blöcken. Zu jedem dieser Themen gibt es eine Einleitung mit anschließenden Codebeispielen. Dazu benötigen die meisten Webprojekte an diversen Stellen Einstellungsmöglichkeiten sowie CSS- und JavaScript-Code. Auch dies werde ich im zweiten Teil eingehend erläutern.
Das Buch ist zwar für den deutschsprachigen Raum geschrieben, nichtsdestotrotz werden viele Projekte in der realen Wirtschaft nicht um Internationalisierung und Mehrsprachigkeit umhinkommen. Deswegen habe ich diese Themen ebenso wie das Kapitel über Sicherheit und Privatsphäre noch mit in den zweiten Teil aufgenommen. Zu guter Letzt existiert auch ein Kapitel zum Thema Debugging im zweiten Teil. Denn ein Projekt wird bereits während der Umsetzungsphase permanent getestet.
Wie oben angedeutet, geht es dann im dritten Teil um die Aufgabe, die ein Plugin, ein Theme oder ein Block übernehmen soll. Da dies individuell sein kann, ist der letzte Teil des Buches den APIs, also den Schnittstellen, von WordPress gewidmet. Hier picken Sie sich die Dinge heraus, mit denen Sie arbeiten wollen. Soll das eigene Plugin beispielsweise mit der Außenwelt verbunden werden, sind Sie im Kapitel zur REST-API bestens aufgehoben. Möchten Sie externe Daten nachladen, sollten Sie sich das Kapitel zur HTTP-API ansehen.
Hinweise zu Code-Beispielen
Mir persönlich geht es beim Lesen von Büchern...




