WordPress Hooks sind genial!
Mit Hooks kann ich meinen Code einfach in andere Funktionen ausführen.
Dadurch kann ich meinen Code an Stellen verwenden, die ich sonst nur durch das Ändern von fremden Funktionen schaffen würde.
Gäbe es keine Hooks, müsste ich an den WordPress Core Dateien etwas ändern.
Das will ich auf alle Fälle verhindern, weil die Änderungen beim nächsten Update weg wären.
Menschen die sich mit WordPress-Code nicht auskennen schimpfen oft über Hooks. Weil angeblich die Nachvollziehbarkeit fehlt. Aber das ist für erfahrene WordPress-Entwickler kein Problem. There’s an app for that! Siehe unten.
Was ist nun der erste Hook?
muplugins_loaded ist der erste Hook, der IMMER angesprochen wird.
Die query_monitor Ausgabe zeigt uns folgendes:

Wir finden den Hook in der Datei
wp-settings.php

Warum hebe ich in der vorigen Überschrift das Wort IMMER hervor?
Weil es andere Hooks gibt, die eventuell vorher angesprochen werden:

Wenn es MU-Plugins gibt, dann wird der Hook mu_plugin_loaded ausgeführt.
Wenn die Seite in einer Multisite-Umgebung eingebunden ist, dann wird der Hook network_plugin_loaded abgefeuert.
Wie oben geschrieben, ist das aber nur Hätte-Hätte-Fahrradkette!
Daher kann ich mich auf die zwei Hooks nicht verlassen sondern nur auf muplugins_loaded.
Wie komme ich in den Hook muplugins_loaded
Ja das ist die gute Frage! Mit einem normalen Plugin nämlich gar nicht!
Wir sehen am Anfang der Liste die Ausführung des muplugins_loaded Hook.
Ganz unten sehen wir, dass der plugin_loaded Hook ausgeführt wird.
Erst ab diesem Zeitpunkt können wir mit Hooks aus unseren eigenen Plugins arbeiten!
Wir sind nämlich zu spät dran, wenn wir uns in plugin_loaded reinhängen.
Die Lösung?
Eigene MU-Plugins!
In diesem Artikel über MU-Plugins haben wir beschrieben, was das eigentlich ist. Eine einfache Datei, die im Ordner wp-content/mu-plugins abgelegt werden. WordPress führt die automatisch aus.
Dort kann ich dann auch alle Hooks ansprechen, die vor plugin_loaded ausgeführt werden.
Mehr zu MU-Plugins gibt es auch in der offiziellen Doku: https://wordpress.org/support/article/must-use-plugins/ .
Wie sehe ich die Auflistung der Hooks?
In den Screenshots sehe ich die Lader-Reihefolge der Hooks. Das passiert mit Query Monitor.
Query Monitor ist ein mächtiges Plugin. Es hilft WordPress Entwicklern in allen Lebenslagen und bietet gute Debugging-Möglichkeiten.
Links
- https://developer.wordpress.org/reference/hooks/muplugins_loaded/
- https://developer.wordpress.org/reference/hooks/mu_plugin_loaded/
- https://developer.wordpress.org/reference/hooks/network_plugin_loaded/
- https://developer.wordpress.org/reference/hooks/plugin_loaded/
- https://wordpress.org/support/article/must-use-plugins/
- https://wp-entwickler.at/913/wichtigen-code-in-functions-php-speichern-eigenes-plugin-dafuer-erstellen-nein-wichtiger-code-kommt-in-den-ordner-mu-plugins/
- https://de.wordpress.org/plugins/query-monitor/



