Alles, was Sie über WordPress-Hooks wissen müssen

Veröffentlicht: 2015-07-11

Süchtig nach WordPress-Hooks?

Unter der Haube passiert viel, während WordPress daran arbeitet, die erforderliche Komponente für Ihre Website zu rendern. Jede Seite besteht aus einigen Funktionen und Datenbankabfragen. Der WordPress-Kern und das Design arbeiten zusammen, um Text, Bilder, Stylesheets und andere Dateien auszugeben. Mit Hilfe des Browsers werden all diese Teile interpretiert und zu einer Webseite zusammengefügt. Hooks bieten die Möglichkeit, WordPress anzupassen, zu erweitern und zu verbessern.

Hooks werden entsprechend benannt, weil wir uns buchstäblich in WordPress „einklinken“ können, um Daten abzurufen, einzufügen oder zu ändern oder andere Aufgaben hinter den Kulissen zu erledigen. In gewisser Weise „hängen“ wir unseren benutzerdefinierten Code an diese Haken. Wie wir wissen, ist es keine gute Idee, den WordPress-Kern zu modifizieren. Aus diesem Grund sind Action-Hooks und Filter-Hooks in WordPress der beste Weg, um bestehende Funktionen zu ändern oder neue Funktionen zu erstellen.

Arten von Haken

Haken sind ein notwendiger Bestandteil bei der Anpassung. Es gibt zwei Haupttypen von Hooks: Action-Hooks und Filter-Hooks. Jedes bietet etwas anderes, daher ist es wichtig zu verstehen, wann man welches verwendet.

Ein Haken kann nicht einfach irgendwo hineingeworfen werden; es muss etwas geben, woran man sich „anhängen“ kann. Es ist notwendig, diesen Ausführungspunkt für diesen Hook zu haben. Die gute Nachricht ist, dass es im gesamten WordPress-Kern integrierte Hooks gibt, auf die verwiesen werden kann.

Vier Notseil

Warum Haken verwenden

Mit Hooks lässt sich viel verändern, denn viele Kernfunktionen von WordPress nutzen Aktionen und Filter. Das Verständnis von Hooks ist absolut notwendig für jeden, der mit WordPress entwickelt, und für Designer, die WordPress oder das Verhalten des Themes ändern möchten.

Aktionshaken

Aktionshaken zeigen an, dass etwas passiert ist, nicht zu verwechseln mit Ereignissen selbst. Aktionen werden durch bestimmte Ereignisse ausgelöst, die in WordPress stattfinden. Ein Beispiel für ein Ereignis könnte Dinge wie das Veröffentlichen eines Beitrags, das Ändern von Themen oder das Aktivieren eines Plugins sein. Mit Aktionen können Sie an einem bestimmten Punkt der Verarbeitung der Seite zusätzliche Funktionen hinzufügen. Aktionshaken können Dinge tun wie:

  • Ändern Sie Daten in der WordPress-Datenbank
  • Ändern Sie, was im Browser angezeigt wird
  • Senden Sie eine E-Mail, wenn ein Ereignis eingetreten ist
  • Fügen Sie der Seite ein Widget, ein Menü oder eine benutzerdefinierte Nachricht hinzu

WordPress-Hooks-Aktion

Action-Hook-Beispiel

add_action( $hook, $function_to_add, $priority, $accepted_args );

Die erforderlichen Parameter der Funktion add_action sind der Hook und die hinzuzufügende Funktion. Die Angabe der Priorität ist optional. Mit einem ganzzahligen Wert, der auf einer Skala von 1 bis 999 basiert, bestimmt diese Zahl die Prioritätsreihenfolge der Funktionen für diesen bestimmten Hook. Möglicherweise benötigen Sie ihn nicht, aber der letzte Parameter wird verwendet, wenn Sie mehrere Argumente übergeben oder akzeptieren müssen.

Werfen wir einen Blick auf einen einfachen Action-Hook:

// This is the function, name it accordingly

function custom_welcome_text() { ?>

<div class="optional-custom-class">Hello WordPress!</div>

<?php }

&nbsp;

// Action function that outputs the function above into the theme hook

add_action( 'welcome_hook', 'custom_welcome_text', 5 );

Dieser grundlegende Hook fügt oben auf der Seite „Hallo WordPress“ hinzu. Sie hat eine Priorität von 5. Niedrigere Zahlen entsprechen einer früheren Ausführung. Standardmäßig ist sie auf 10 eingestellt, sodass dieses Beispiel vor der Standardeinstellung ausgeführt wird.

Filterhaken

Lassen Sie uns ein allgemeines Szenario durchgehen und erläutern, wie Filter-Hooks ins Spiel kommen. Denken Sie an all die Male, in denen Ihre Benutzer Ihre Website besuchen und ein Beitrag zum Lesen geladen wird. Als Teil des Lebenszyklus der WordPress-Seite fragt WordPress die Datenbank nach diesem Beitrag ab, dann wird er an den Browser zurückgegeben, bereit für den Benutzer zum Lesen. Es klingt alles einfach, aber bevor der Inhalt bereitgestellt wird, lässt WordPress die Daten durch alle eingerichteten Filter laufen. Diese Filterhaken können bei Bedarf einfach erstellt werden.

Stellen Sie sich das so vor: Aktionen werden durch bestimmte Ereignisse ausgelöst, aber Filter ermöglichen das Abfangen und Ändern von Daten während der Verarbeitung. Filter-Hooks werden verwendet, wenn Sie Daten abfangen, verwalten oder zurückgeben müssen, bevor Sie sie an den Browser rendern oder Daten aus dem Browser in der Datenbank speichern. Beispielsweise möchten Sie möglicherweise eine weitere CSS-Klasse in ein WordPress-HTML-Element einfügen oder zusätzliche Metafeldtypen registrieren. Beides kann mit einem Filterhaken ausgeführt werden.

WordPress-Hooks-Filter

Filter befinden sich zwischen der Datenbank und dem Browser, während WordPress Seiten generiert. Außerdem sitzen sie zwischen dem Browser und der Datenbank, wenn WordPress neue Beiträge und Kommentare zur Datenbank hinzufügt. Aus diesem Grund können Filter-Hooks hilfreiche Dinge tun wie:

  • Fügen Sie Daten zur Datenbank hinzu oder senden Sie sie an den Browserbildschirm
  • Manipulieren Sie Daten, die aus der Datenbank kommen, bevor sie in den Browser gelangen, oder aus dem Browser kommen, bevor sie in die Datenbank gelangen.

Beispiel für einen Filter-Hook

Im folgenden Beispiel sehen wir uns an, wie ein Filter-Hook bei Inhalten funktioniert. Dieser Hook wird ausgelöst, kurz bevor Inhalte verwendet, in die Datenbank gestellt oder von WordPress für die Anzeige auf dem Bildschirm gerendert werden. Dadurch werden die Daten geändert, wenn der Filter-Hook ausgelöst wird.

Die Funktion add_filter ist das, was wir brauchen, um uns in einen Filter einzuklinken. Die Argumente kommen Ihnen vielleicht bekannt vor, der add_filter ist derselbe wie der von add_action . Lassen Sie uns nun in den WordPress-Filter the_content einsteigen, der aufgerufen wird, bevor irgendwelche Post-Inhalte angezeigt werden. In diesem einfachen Beispiel ermöglicht uns der Filter, jedem Beitrag einen Copyright-Hinweis hinzuzufügen. An diesem Punkt werden die Filter Maßnahmen für Daten ergreifen, die an sie weitergegeben werden.

add_filter( 'the_content', 'add_copyright_notice' );

function add_copyright_notice( $content )

{

return $content . " <br>This content is copyrighted.";

}

Bitte beachten Sie, wenn Sie einen Filter verwenden, müssen Sie immer etwas zurückgeben, sonst gehen die Dinge kaputt.

Hooks zu einem Thema hinzufügen

Stellen Sie beim Hinzufügen von Hooks und Filtern zum Design sicher, dass Sie in einem untergeordneten Design arbeiten. Der Hauptgrund ist, dass wenn Sie im übergeordneten Design arbeiten, diese Änderungen überschrieben werden könnten, wenn es ein Update der Designdateien gibt.

Hoffentlich haben Sie ein besseres Verständnis für Hooks, was sie können und wie sie helfen können. Hooks können sehr einfach, sehr komplex oder irgendwo dazwischen sein. Sobald Sie die grundlegenden Konzepte haben, werden Sie in kürzester Zeit süchtig.