Hooks (Actions und Filter)
Hooks sind das Fundament der WordPress-Erweiterbarkeit. Sie erlauben es Plugins und Themes, an definierten Punkten im WordPress-Code einzugreifen – ohne die Core-Dateien zu verändern. Es gibt zwei Arten: Actions und Filter. Mit Actions führt man eigene Code aus, wenn etwas passiert. Mit Filtern verändert man Daten, bevor sie angezeigt oder gespeichert werden.
Actions
Actions werden an bestimmten Punkten im WordPress-Prozess ausgelöst – z.B. wenn ein Beitrag gespeichert wird, der Header geladen wird oder die Initialisierung abgeschlossen ist. Mit add_action() hängt man eigene Funktionen an diese Punkte:
// Eigenes Skript im Footer laden
add_action( 'wp_footer', function() {
echo '<script>console.log("Footer geladen");</script>';
} );
Filter
Filter empfangen Daten, verändern sie und geben sie zurück. Mit add_filter() greift man in diesen Datenstrom ein:
// "Weiterlesen"-Text ändern
add_filter( 'the_content_more_link', function( $more_link ) {
return '<a href="#weiter">Weiterlesen →</a>';
} );
Wichtige WordPress-Hooks
- init – läuft nach WordPress-Initialisierung, vor Header-Ausgabe. Gut für Post Types und Taxonomien registrieren.
- wp_enqueue_scripts – der korrekte Hook zum Laden von CSS und JavaScript
- the_content – Filter auf den Beitragsinhalt, bevor er ausgegeben wird
- save_post – Action, wenn ein Beitrag gespeichert wird
- wp_head / wp_footer – für Ausgaben im <head> bzw. vor </body>
- template_redirect – zum gezielten Weiterleiten vor Template-Rendering
Hooks und Plugin-Entwicklung
Das Hooks-System ist der Grund, warum WordPress so erweiterbar ist: Kein Plugin muss Core-Dateien hacken. Es hängt sich einfach in vorhandene Hooks ein. Das macht Updates sicher und Plugins austauschbar. Wer eigene Hooks in einem Plugin definiert (mit do_action() und apply_filters()), macht sein Plugin für andere erweiterbar.

