Was sind “Action” und “Filter” Hooks in WordPress?

Marc Wag­ner

Sep­tem­ber 5, 2024

3 min read|

In Word­Press spie­len Hooks eine zen­tra­le Rol­le in der Anpas­sung und Erwei­te­rung der Funk­tio­na­li­tät ohne direk­te Ände­run­gen am Kern­code. Es gibt zwei Arten von Hooks: Action Hooks und Fil­ter Hooks. Bei­de ermög­li­chen Ent­wick­lern, benut­zer­de­fi­nier­te Funk­tio­nen zu bestimm­ten Zeit­punk­ten oder Stel­len im Word­­Press-Pro­­zess hin­zu­zu­fü­gen oder bestehen­de Funk­tio­nen zu modi­fi­zie­ren.

Action Hooks #

Ein Action Hook ermög­licht es dir, benut­zer­de­fi­nier­te Funk­tio­nen zu bestimm­ten Zeit­punk­ten im Lebens­zy­klus von Word­Press aus­zu­füh­ren. Dies bedeu­tet, dass du eine Funk­ti­on “ein­hän­gen” kannst, die dann auf­ge­ru­fen wird, wenn die­ser bestimm­te Punkt erreicht ist.

Beispiel für einen Action Hook

function meine_custom_action() {
    echo '<p>Hallo, dies ist eine benutzerdefinierte Nachricht!</p>';
}
add_action('wp_footer', 'meine_custom_action');

In die­sem Bei­spiel ver­wen­den wir den wp_footer Action Hook. Die­ser Hook wird aus­ge­führt, kurz bevor der HTML-Tag </body> in der Sei­te ger­en­dert wird. Die Funk­ti­on meine_custom_action fügt eine benut­zer­de­fi­nier­te Nach­richt im Foo­ter der Sei­te hin­zu.

Wichtige Action Hooks in WordPress

  • wp_head: Wird im <head>-Bereich des The­mes auf­ge­ru­fen.
  • wp_footer: Wird im <footer>-Bereich der Sei­te aus­ge­führt.
  • init: Wird bei jeder Anfra­ge in Word­Press aus­ge­löst. Oft ver­wen­det, um benut­zer­de­fi­nier­te Post-Typen oder Taxo­no­mien zu regis­trie­ren.
  • admin_init: Wird wäh­rend der Initia­li­sie­rung des Admin-Panels aus­ge­löst.

Filter Hooks #

Ein Fil­ter Hook ermög­licht es, Daten zu ändern, bevor sie von Word­Press aus­ge­ge­ben oder wei­ter­ver­ar­bei­tet wer­den. Mit Fil­ter Hooks kannst du den Inhalt von Tex­ten, Titeln, Meta­da­ten usw. dyna­misch anpas­sen.

Beispiel für einen Filter Hook

function meine_custom_title_filter($title) {
    return $title . ' - Anpassung durch Filter';
}
add_filter('the_title', 'meine_custom_title_filter');

In die­sem Bei­spiel ver­wen­den wir den the_title Fil­ter Hook. Die­ser Hook ermög­licht es, den Sei­ten­ti­tel zu ver­än­dern, bevor er auf der Sei­te ange­zeigt wird. Die Funk­ti­on meine_custom_title_filter fügt den Text - Anpassung durch Filter zum ursprüng­li­chen Titel hin­zu.

Wichtige Filter Hooks in WordPress

  • the_content: Ändert den Inhalt eines Bei­trags oder einer Sei­te.
  • the_excerpt: Wird auf den Aus­zug eines Bei­trags ange­wen­det.
  • the_title: Ändert den Titel eines Bei­trags oder einer Sei­te.
  • wp_nav_menu_items: Ermög­licht die Anpas­sung der Menü­ele­men­te vor der Aus­ga­be.

Wie man Action und Filter Hooks verwendet #

Regis­trie­rung einer Funk­ti­on mit einem Hook: Sowohl für Actions als auch für Fil­ter ver­wen­dest du die Word­­Press-Fun­k­­tio­­nen add_action() bzw. add_filter(), um dei­ne benut­zer­de­fi­nier­ten Funk­tio­nen zu regis­trie­ren.

add_action('hook_name', 'deine_funktion');
add_filter('hook_name', 'deine_funktion');

Argu­men­te und Prio­ri­tät: Sowohl add_action() als auch add_filter() erlau­ben zusätz­li­che Para­me­ter, um die Prio­ri­tät fest­zu­le­gen und zu bestim­men, wie vie­le Argu­men­te an die Funk­ti­on über­ge­ben wer­den sol­len.

add_action('hook_name', 'deine_funktion', 10, 2);
add_filter('hook_name', 'deine_funktion', 15, 1);

Der drit­te Para­me­ter (z.B. 10 oder 15) legt die Prio­ri­tät fest. Je klei­ner die Zahl, des­to frü­her wird die Funk­ti­on aus­ge­führt. Der vier­te Para­me­ter bestimmt, wie vie­le Argu­men­te an die Funk­ti­on über­ge­ben wer­den.

Fazit #

Hooks, ob Action oder Fil­ter, bie­ten eine fle­xi­ble Mög­lich­keit, die Funk­tio­na­li­tät von Word­Press zu erwei­tern und anzu­pas­sen, ohne den Kern­code zu ver­än­dern. Action Hooks erlau­ben es dir, neue Funk­tio­nen hin­zu­zu­fü­gen, wäh­rend Fil­ter Hooks die vor­han­de­nen Daten mani­pu­lie­ren, bevor sie aus­ge­ge­ben wer­den.

Durch die Ver­wen­dung die­ser Hooks kannst du The­mes, Plug­ins und Word­Press selbst auf viel­fäl­ti­ge Wei­se anpas­sen und erwei­tern.

88e86fcb816eff22bc917094df2862d8dd5c0e978b333e6dd5f36f808990c261 96

Arti­kel von:

Marc Wag­ner

Hal­lo, Marc hier. Ich bin der Grün­der von Forge12 Inter­ac­ti­ve und bereits seit über 20 Jah­ren lei­den­schaft­lich dabei Web­sei­ten, Online­shops, Anwen­dun­gen und SaaS-Lösun­gen für Unter­neh­men zu ent­wi­ckeln. Vor der Grün­dung habe ich bereits in Bör­sen notier­ten Unter­neh­men gear­bei­tet und mir aller­lei Wis­sen ange­eig­net. Die­ses Wis­sen möch­te ich nun an mei­ne Kun­den wei­ter­ge­ben.

Hast du eine Fra­ge? Hin­ter­lass bit­te einen Kom­men­tar