Was sind WordPress-Hooks? Wie helfen Aktionen und Filter, die Funktionalität zu erweitern?

Veröffentlicht: 2018-06-13
WordPress Hooks | LearnWoo

Zuletzt aktualisiert - 9. Oktober 2020

Wenn Sie jemals an WordPress gearbeitet haben, müssen Sie schon oft auf das Wort „ Hook “ gestoßen sein. Wenn Sie ein WordPress-Entwickler sind, der Plugins und Themes erstellen möchte, dann sind WordPress-Hooks entscheidend für Ihre Entwicklung.

Aber was genau sind Hooks?

Laut WordPress.org-Codex werden „ Hooks von WordPress bereitgestellt, damit sich Ihr Plugin in den Rest von WordPress ‚einhängen‘ kann; das heißt, zu bestimmten Zeiten Funktionen in Ihrem Plugin aufzurufen und dadurch Ihr Plugin in Gang zu setzen.“

Haken im Allgemeinen verbinden eine Sache mit einer anderen. In der WordPress-Terminologie verknüpft (verbindet) es benutzerdefinierten Code mit vorhandenem Code des WordPress-Kerns.

Lassen Sie uns das klarstellen.

WordPress wird mit einigen Standardfunktionen erstellt. Es hat ein Standardverhalten und damit verbundene Werte. Mit Hooks können Sie dieses Standardverhalten ändern und den vorhandenen Wert ersetzen und so die WordPress-Umgebung an Ihre Bedürfnisse anpassen.

Arten von Haken

Es gibt zwei Arten von Haken:

  1. Aktionshaken – Wird verwendet, um an einem bestimmten Punkt der Ausführung ausgeführt zu werden und den Standardablauf der Ausführung zu ändern. Hier ist eine Liste von WordPress-Action-Hooks.
  2. Filter-Hooks – Etwas anders als Action-Hooks werden Filter-Hooks verwendet, um die standardmäßigen WordPress-Daten zu ändern und durch benutzerdefinierte Werte zu ersetzen, bevor sie dem Benutzer im Frontend angezeigt oder in der Datenbank gespeichert werden. Eine Liste von Filter-Hooks findet sich im WordPress Codex.

Grundsätzlich sind Hooks an sich vordefinierte Funktionen. Daher sind die zwei Arten von Funktionen, die mit den Hooks verbunden sind:

  1. Aktionsfunktionen – Diese Funktionen sind hilfreich bei Ereignissen, wenn ein Blog gepostet wird, eine Seite geladen wird und so weiter.
    Im Folgenden sind einige der Aktionsfunktionen aufgeführt:

    • add_action()
    • tat_aktion()
    • doing_action()
    • do_action()
    • do_action_ref_array()
    • hat_aktion()
    • remove_action()
    • remove_all_actions()
  2. Filterfunktionen – Jede Filterfunktion gibt einen Wert zurück und ersetzt ihn durch die standardmäßigen WordPress-Daten.
    Zu den Filterfunktionen gehören:

    • add_filter()
    • apply_filters()
    • apply_filters_ref_array()
    • aktueller_filter()
    • doing_filter()
    • has_filter()
    • remove_all_filters()
    • remove_filter()

Eine Infografik

Beachten Sie die folgende Infografik, um besser zu verstehen, wie Hooks funktionieren.

WordPress Hooks | Info-graphic on how WordPress Hooks work
Infografik zur Funktionsweise von WordPress Hooks

Wie in der obigen Infografik gezeigt, verwenden die Aktions- und Filterfunktionen entsprechende Hooks, um den Kerncode von WordPress zu ändern.

Wie sieht ein Haken aus?

Ein typischer Action-Hook hat folgende Form:

 add_action ( 'hook', 'your_custom_function_name', [priority], [accepted_parameters] );
Funktion your_custom_function_name()
{
   //Ihr benutzerdefinierter Code
}

Wobei hook der Name des Hooks ist, your_custom_function_name ist der Name der Funktion mit Ihrem benutzerdefinierten Code, dem optionalen Prioritätsparameter , der angibt, wie der Hook ausgeführt werden soll, den akzeptierten Parametern , die die zusätzlichen Parameter angeben, und dem benutzerdefinierten Code. Das Der Funktionsaufruf ( add_action()) kann unter oder über dem Code-Snippet stehen.

Ein Filter-Hook hat folgende Form:

 add_filter( 'filter', 'your_custom_function_name', 'priority', 'accepted_args' );
Funktion your_custom_function_name($variable)
{
   //Ihr benutzerdefinierter Code
   Rückkehr;
}

Wobei add_filter() eins ist der Filter-Hook-Funktionen ist filter der Name des Filters, den Sie verwenden werden, your_custom_function_name ist der Name Ihrer benutzerdefinierten Funktion, der prioritätsparameter gibt die Ausführungsreihenfolge des Hooks an, Accepted_args gibt die zu übergebenden Argumente an und die benutzerdefinierte Code mit dem obligatorischen Rückgabewert.

Genau wie WordPress gibt es auch für WooCommerce Hooks. Diese Hooks werden ausgiebig verwendet, um Plugins und Designs zu entwickeln und den WooCommerce Checkout-Prozess anzupassen.
Lesen Sie WooCommerce-Hooks: Aktionen und Filter in der WooCommerce-Dokumentation, um die WooCommerce-Hooks im Detail zu verstehen.

Demonstration

Lassen Sie uns Hooks anhand einiger Beispielcodeausschnitte verstehen.

Aktionshaken und Funktion

 //Hinzufügen eines Action-Hooks
Funktion my_action_hook() {
echo "<p align='center'>Dies ist ein Action-Hook-Beispiel</p>";
}
add_action( 'get_header', 'my_action_hook' );

Im obigen Code-Snippet ist „my_action_hook“ der Name der benutzerdefinierten Funktion, „add_action“ ist eine der Action-Funktionen und „get_header“ wird verwendet, um den Vorlagenheader anzupassen. Im angegebenen Code-Snippet zeigen wir den Text „This is an Action Hook Demo“ im Header-Bereich der Website an.

Ein Beispiel-Screenshot, der die angewendeten Code-Snippet-Änderungen zeigt, ist unten dargestellt.

WordPress Hooks | Action hook example
Beispiel für Aktionshaken

Filterhaken und Funktion

 //Hinzufügen eines Filter-Hooks
add_filter('woocommerce_get_price_html','my_filter_hook');
Funktion my_filter_hook($Preis){
return 'Nur für '.$price;
}

Im obigen Code-Snippet ist „woocommerce_get_price_html“ ein WooCommerce-Hook zum Abrufen des Produktpreises, „my_filter_hook“ ist der Name des benutzerdefinierten Filters und „$price“ ist eine benutzerdefinierte Variable. Das Code-Snippet fügt dem Produktpreis einfach das Präfix „Für nur“ hinzu.

Der folgende Screenshot zeigt, wie sich das Code-Snippet auf unseren WooCommerce-Shop auswirkt.

WordPress Hooks | Filter hook example
Beispiel für einen Filter-Hook

Dies ist nur ein einfaches Beispiel, es gibt viele Dinge, die Sie mit Hooks erreichen können.

Wie helfen Aktionen und Filter, die Funktionalität zu erweitern?

  1. Der Hauptvorteil der Verwendung von Hooks besteht darin, dass es beim Anpassen des WordPress-Kerncodes hilft.
  2. Alle Änderungen in der Entwicklung können sorgfältig überwacht werden, da die Änderung nur minimal ist und nicht mehrfach im Code erfolgt.
  3. Die Entwicklung neuer Plugins wird durch die Try-and-Test-Methode erheblich vereinfacht.
  4. Für die Theme-Entwicklung kann man Child-Themes erstellen und mit Hooks herumspielen, ohne das Parent-Theme zu beeinflussen.
  5. Es ist ein einfaches, benutzerfreundliches WordPress-Angebot mit einer verständlichen Struktur und einer detaillierten Dokumentation für jede Referenz.
  6. Unterstützt WooCommerce, das beliebteste WordPress E-Commerce-Plugin. WooCommerce-Preis-Plugins ändern umfassend Produktpreise, Preisberechnungen und bieten dynamische Preise und Rabatte mithilfe von WooCommerce-Hooks. Bestelldetails, Produktinformationen und Versanddetails können unter anderem mit benutzerdefinierten Haken erfasst werden.

Abschließende Bemerkungen

WordPress Hooks sind der Schlüsselmechanismus für die Plugin- und Theme-Entwicklung. Sie werden häufig verwendet, um den vorhandenen WordPress-Code zu ändern, um die Website anzupassen. Obwohl Haken eine Reihe von Vorteilen haben, sollte man sicherstellen, dass jeder benutzerdefinierte Haken einzigartig ist und sich nicht mit einem anderen gleichnamigen Haken überschneidet. Auch in diesem Fall können Sie den Hooks für die Ausführung je nach Bedarf Priorität zuweisen.

In unseren WooCommerce -Anpassungsartikeln finden Sie Tipps zum Anpassen Ihres WooCommerce-Shops.

Oder erkunden Sie LearnWoo weiter nach weiteren erstaunlichen Artikeln.