Florian Simeth
WordPress - Plugins, Themes und Blöcke entwickeln
Ideal für den Einstieg und fortgeschrittene User
Florian Simeth
WordPress - Plugins, Themes und Blöcke entwickeln
Ideal für den Einstieg und fortgeschrittene User
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
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.
Aus dem Inhalt:
Die ersten Schritte im…mehr
Andere Kunden interessierten sich auch für
- Richard EisenmengerWordPress 639,90 €
- Norbert PohlmannCyber-Sicherheit34,99 €
- Carsten EilersYou've been hacked!39,90 €
- Bernhard WurmSchrödinger programmiert C #49,90 €
- Jake VanderPlasData Science mit Python19,99 €
- Denise Banks-GrasedyckSAP-S/4HANA-Projekte erfolgreich managen59,90 €
- Matt StaufferLaravel - Die umfassende Einführung39,90 €
-
-
-
-
-
-
-
-
-
-
-
-
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.
Aus dem Inhalt:
Die ersten Schritte im EntwicklungsprozessPlugins, Themes und Blöcke entwickelnCrashkurs UX für gutes Theme-DesignPerformance, Sicherheit, PrivatsphärejQuery, React und Underscore in WordPress nutzenInternationalisierungFehler finden und beheben: DebuggingEigene InhaltstypenExterne Daten nachladenAuf Datenbanken zugreifenArbeiten mit der REST-APIMultisite-Umgebung aufsetzenInhalte dynamisch einfügen
Aus dem Inhalt:
Die ersten Schritte im EntwicklungsprozessPlugins, Themes und Blöcke entwickelnCrashkurs UX für gutes Theme-DesignPerformance, Sicherheit, PrivatsphärejQuery, React und Underscore in WordPress nutzenInternationalisierungFehler finden und beheben: DebuggingEigene InhaltstypenExterne Daten nachladenAuf Datenbanken zugreifenArbeiten mit der REST-APIMultisite-Umgebung aufsetzenInhalte dynamisch einfügen
Produktdetails
- Produktdetails
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/08998
- Seitenzahl: 1006
- Erscheinungstermin: 8. September 2022
- Deutsch
- Abmessung: 239mm x 186mm x 62mm
- Gewicht: 1967g
- ISBN-13: 9783836289986
- ISBN-10: 3836289989
- Artikelnr.: 63636587
- Rheinwerk Computing
- Verlag: Rheinwerk Computing / Rheinwerk Verlag
- Artikelnr. des Verlages: 459/08998
- Seitenzahl: 1006
- Erscheinungstermin: 8. September 2022
- Deutsch
- Abmessung: 239mm x 186mm x 62mm
- Gewicht: 1967g
- ISBN-13: 9783836289986
- ISBN-10: 3836289989
- Artikelnr.: 63636587
Florian Simeth (@floriansimeth) ist seit 10 Jahren spezialisiert auf die WordPress-Entwicklung und ist Mitwirkender bei WordPress in den Bereichen Core, Plugin, Translation und Documentation. Er betreibt mehrere Websites, auf denen er sowohl Einsteiger auch fortgeschritte Entwickler rund um WordPress berät. Zudem bloggt er zum Thema und publiziert in Fachzeitschriften wie dem PHP- und WordPress-Magazin.
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 ... 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
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 ... 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