Ihr Browser ist veraltet
Um sicher im Internet zu surfen und moderne Websites richtig darzustellen, empfehlen wir Ihnen ein Update.
Hier auf Updates prüfen
schließen

02.05.2024

WordPress Filter & Actions

WordPress Filter & Actions

Als Open-Source CMS (Content Management System) bietet WordPress sehr viele Individualisierungsmöglichkeiten. Damit individuelle Plugins und Themes mit den WordPress Core Dateien kommunizieren und interagieren können, gibt es spezielle Hooks.

In den WordPress Developer Ressources sind diese Hooks wie folgt beschrieben:

„Hooks are a way for one piece of code to interact/modify another piece of code at specific, pre-defined spots. They make up the foundation for how plugins and themes interact with WordPress Core, but they’re also used extensively by Core itself.“

„Hooks bieten die Möglichkeit ein Stück Code an einer bestimmten, vordefinierten Stelle mit einem anderen interagieren zu lassen bzw. zu modifizieren. Sie bilden die Basis für die Kommunikation zwischen Plugins und Themes mit dem WordPress Core, werden jedoch auch oft von den Core Dateien selbst genutzt.“

Diese „Haken“ sind in zwei Arten unterteilt: Aktionen (Actions) und Filter (Filters).

Actions vs. Filters – die Unterschiede

Während Actions an einem vordefinierten Punkt im Code ausgeführt werden und es ermöglichen, Daten hinzuzufügen, mit der Datenbank zu kommunizieren oder die Arbeitsweise von WordPress zu verändern, erwarten diese in der Callback-Funktion nichts zurück. Anders bei den Filters: diese ermöglichen das Ändern von Daten und geben diese zurück.

Kurz und knapp: Actions unterbrechen den Code und führen eine Aktion aus ohne etwas zurückzugeben, Filter verändern Variablen und geben diese an den Hook zurück.

Aufbau & Nutzung – Die Struktur von WordPress Hooks

Die Hook-Architektur besteht aus 3 Teilen:

1. Hooks

Definiert werden Actions & Filter in WordPress wie folgt:

Actions

do_action( 'action_title', [optional_arguments] );

Filter

apply_filters( 'filter_title', '§value', [optional_arguments] );

Das sind im Prinzip die Hooks an sich - an diese kann man sich „einhaken“. Während WordPress Theme- & Plugin-Entwicklern von Haus aus zahlreiche Hooks anbietet, können Entwickler auch eigene Hooks definieren und damit weitere Anschlussstellen bieten.

Um diese zu nutzen Bedarf es einer Callback-Funktion, die definiert, was gemacht werden soll und einer Hook-Funktion – das Verbindungsstück zwischen Hook und Callback-Funktion.

2. Callback-Funktion

Hier kommt der Hauptunterschied der Actions und Filters zum Tragen: die entsprechende Callback-Funktion für Filter muss etwas zurückgeben, die für Actions nicht.

Callback-Funktion für Actions:

function callback_function() {

//Code, der beschreibt, was wie passieren soll

}

Callback-Funktion für Filters:

function another_callback_funktion( $value ) {

//Code, der beschreibt, wie die Variable geändert werden soll

return $changed_value;

}

3. Hook-Funktionen

Um nun die Verbindung zwischen Hook und entsprechender Funktion herzustellen, gibt es die Hook-Funktionen. Auch hier wieder zwei Unterschiedliche für Actions und Filters:

add_action( 'action_title', 'callback_function' );

add_filter( 'filter_title', 'another_callback_function' );

Beispiel: WordPress geladen

WordPress bietet beispielsweise in der wp-settings.php einen solchen Hook, wenn WordPress komplett fertig geladen ist.

do_action( 'wp_loaded' )

Nun kann mittels einer Funktion definiert werden, was genau nach dem Laden passieren soll.

function callback_function_name() { }

Jetzt muss nur noch der Hook mit der Funktion verbunden werden, das Funktioniert über diese Hook-Funktion.

add_action('wp_loaded','callback_function_name')

Entfernen einer Callback-Funktion

Soll eine Callback-Funktion von einem Hook entfernt werden muss die folgende Funktion aufgerufen werden: remove_action() bzw. remove_filter(), abhängig davon, ob die Funktion mit einem Actions-Hook oder Filter-Hook verknüpft ist.

Die übergebenen Parameter müssen jedoch mit denen der entsprechenden Hook-Funktionen add_action() / add_filter() übereinstimmen. Weiterhin kann eine Callback-Funktion erst entfernt werden, nachdem die Callback-Funktion registriert wurde. Die Reihenfolge der Ausführung ist wichtig.

Eine Liste der meisten WodPress Hooks findet sich hier:

Actions: https://developer.wordpress.org/apis/hooks/action-reference/

Filters: https://developer.wordpress.org/apis/hooks/filter-reference/

Quellen

https://developer.wordpress.org/plugins/hooks/

https://kinsta.com/blog/wordpress-hooks/

https://die-netzialisten.de/was-ist-eigentlich-ein-hook/

Kontakt

Für Ihre Fragen, Anregungen und Anmerkungen haben wir immer ein offenes Ohr.

Sie können uns natürlich auch telefonisch erreichen:
034298 / 208 478

Erfahrungen & Bewertungen zu norules-webdesign