Herausforderungen beim Debuggen von WordPress
WordPress ist ein super CMS, aber wenn du mit einem CMS arbeitest, musst du dich an seine Regeln halten. Zwei dieser Regeln beim Entwickeln sind:
- Du bist von WordPress abhängig. Oft nutzt du WordPress-Funktionen, aber deine Entwicklungs-Umgebung weiß gar nicht, was WordPress ist.
Das bedeutet auch, dass du eine WordPress-Installation zum Testen haben musst, am besten auf deinem eigenen Rechner. Das ist schon eine Herausforderung für sich. - Du kannst nicht einfach deine PHP-Datei aufrufen. Besonders für Anfänger ist das nicht so einfach zu verstehen. Aber WordPress hat ein Hook-System, das es dir erlaubt, Dinge zu ändern und deinen eigenen Code einzufügen.
Das WordPress Hook-System:
Es gibt Actions und Filters. Wenn das Neuland für dich ist, schau dir mal diesen Artikel an: https://www.kathyisawesome.com/thematic-hooks-and-functions/
Kurz gesagt:
- Mit Filtern kannst du die Ausgabe einer Funktion ändern. Zum Beispiel, wenn du einen Preis oder eine Überschrift ändern willst. Das machst du meistens mit einem Filter, der es dir erlaubt, mit deinem eigenen Code die Ausgabe zu ändern.
- Mit Actions kannst du bei bestimmten Ereignissen deine eigenen Funktionen ausführen.
Was bedeutet das für deine Entwicklungsarbeit? Um ein einfaches Plugin zu erstellen und zu testen, würdest du Folgendes tun:
- Ein Projekt in deiner IDE anlegen.
- Den Plugin-Code schreiben.
- Das Plugin in WordPress aktivieren.
- Manuell testen und gucken, ob alles klappt.
- Und das alles machst du mit WP_DEBUG an.
Es gibt auch einige Plugins, mit denen du eigenen Code ausführen kannst. Zum Beispiel mögen wir https://wpcodebox.com/
Aber das ist alles ziemlich umständlich und der Feedback-Loop dauert.
Probier mal REPL-Style-Coding, um WordPress zu debuggen.
Wenn wir neue Produkte entwickeln, nutzen wir zwei Tools, um den Überblick zu behalten:
- Eine schriftliche Checkliste als Übersicht und Qualitätssicherung.
- Wir testen unsere Codeblöcke konsequent in einer REPL-Umgebung.
PHP hat ein cooles Tool fürs Terminal, mit dem du schnell Code ausführen kannst: https://psysh.org/ – das steckt auch hinter Laravels Tinker: https://github.com/laravel/tinker
Und das hier macht PsySH in WordPress verfügbar: https://wordpress.org/plugins/wp-console/
Schau’s dir mal an:
Cool, oder? Automatisches Testen ist super und du wirst wahrscheinlich viel darüber lesen, wenn es um Fehlervermeidung und Qualitätssicherung geht.
Aber diese Methode hat auch ihre Tücken und kostet viel Arbeit.
Vielleicht kann das REPL-Style-Coding dein nächstes Projekt genauso pushen, wie es unseren Workflow antreibt.
Schreibe einen Kommentar