Versuchen Sie, einige Änderungen an Ihrer WordPress-Website vorzunehmen? HTML und CSS können nur bis zu einem gewissen Punkt gehen.
Wenn Sie Änderungen am WordPress-Verhalten vornehmen müssen und kein Theme oder Plugin finden, das Ihren Wünschen entspricht, sind WordPress-Hooks möglicherweise die Antwort, nach der Sie suchen.
Das Verständnis von Hooks ist ein wesentlicher Schritt, um zu lernen, wie man Plugins und Themes ändert oder erstellt. Wenn Sie jedoch nach Antworten darauf suchen, was genau Hooks sind und wie sie funktionieren, werden Sie wahrscheinlich hauptsächlich technische Artikel finden, die für Entwickler geschrieben wurden.
Was ist, wenn Sie Anfänger sind oder nicht wissen, wie man programmiert, und Hooks verstehen möchten?
In diesem Artikel werden WordPress-Hooks für Anfänger erklärt und Ihnen gezeigt, wie Sie sie verwenden können, um Ihre eigene WordPress-Site sicher zu ändern.
Fast alles in WordPress funktioniert mit Hooks. Sobald Sie dieses Konzept verstanden haben, können Sie praktisch alles ändern.
Was sind WordPress-Hooks?
Stellen Sie sich Ihre WordPress-Website als riesige Mixed-Media-Collage an einer Wand vor. Gemischt mit Farbspritzern, recycelten Grußkarten und Zeitschriftenausschnitten (Ihr Thema, Zubehör und Inhalt) sind einige Aufhänger.
Mit diesen Haken können Sie der Collage Ihr eigenes Kunstwerk hinzufügen und es nach Ihren Wünschen anpassen.
So funktionieren WordPress-Hooks, die es Ihnen ermöglichen, Ihren eigenen Code an bestimmten Stellen „aufzuhängen“.
Sie können sich Hooks auch als Auslöser vorstellen. Abhängig von dem spezifischen Hook, den Sie verwenden, wird Ihr Code in bestimmten Bereichen ausgelöst.
So beschreibt der WordPress-Codex Hooks:
„WordPress bietet die Hooks, die es Ihrem Plugin ermöglichen, sich in den Rest von WordPress einzubinden; das heißt, um zu bestimmten Zeiten Funktionen in Ihrem Plugin aufzurufen und so Ihr Plugin in Gang zu setzen.“
Es gibt zwei Arten von Haken: Verhalten Und Filter.
Eine WordPress-Action-Hook-Metapher
Aktions-Hooks legen benutzerdefinierte Funktionen fest, die durch bestimmte WordPress-Ereignisse ausgelöst werden.
Nehmen wir an, Sie warten darauf, dass am Samstag ein wichtiges Paket bei Ihnen zu Hause ankommt, haben aber Besorgungen zu erledigen und können es kaum erwarten, zu Hause zu unterschreiben. Also gehst du zu deiner Nachbarin Sara und bittest sie, für dein Paket zu unterschreiben, wenn es ankommt.
Wenn Ihre Anfrage ein WordPress-Hook wäre, würde sie so aussehen:
function sign_for_package( $sara_is_home ) {
if ( $sara_is_home ) {
echo 'I’ll sign for that package!';
}
}
add_action( 'when_package_arrives' , 'sign_for_package', 10 , 1 );
Im obigen Beispiel wartet der Code auf das Eintreffen des Pakets und schickt dann Sara zur Unterschrift (sofern sie zu Hause ist!).
Was sind die Zahlen 10 und 1?
Die erste Zahl legt die Priorität der Funktion fest: Soll sie vor oder nach anderen Funktionen ausgeführt werden? Der Standardwert ist 10, also belassen wir es dabei. Meistens macht das keinen Unterschied.
Die zweite Zahl ist die Anzahl der Argumente oder Variablen in der Funktion. Wir verwenden lediglich die Variable $sara_is_home, daher ist sie auf 1 gesetzt.
Eine Metapher für den WordPress-Filter-Hook
Filter-Hooks sind Funktionen, die Daten ändern oder filtern, bevor sie Maßnahmen für diese Daten ergreifen.
Nehmen wir an, Sara willigt ein, Ihr Paket zu unterschreiben, wenn Sie damit einverstanden sind, Ihren Hund zu beruhigen, wenn er das nächste Mal zu laut bellt.
Wir können einen Filter-Hook für Ihre Anfrage erstellen:
function quiet_down($dog) {
$dog = str_replace ( "bark" , "silence" , $dog );
return $dog;
}
add_filter( dog_barking' , 'quiet_down');
Bei diesem Filter ist der Auslöser das Bellen des Hundes. Wenn das passiert, wird jedes Bellen durch Stille ersetzt.
Dies ist ein Filter, keine Aktion, denn wir verändern etwas, das bereits existiert (und verstummen), anstatt etwas Neues hinzuzufügen.
Ein nützliches Beispiel aus der Praxis
„Also“, denken Sie vielleicht, „ich wünschte wirklich, ich könnte mit einem WordPress-Filter verhindern, dass die Hunde meiner Nachbarn bellen, aber das geht nicht.“ Welche praktischen Einsatzmöglichkeiten gibt es für Aktionen und Filter? „
Fügen Sie nach jedem Beitrag Inhalte hinzu, auch in RSS
Nehmen wir an, Sie möchten nach jedem Beitrag automatisch Inhalte hinzufügen.
Sie können dies tun, indem Sie Ihre single.php-Vorlagendatei ändern oder einen Post-Post-Widget-Bereich verwenden. Bei beiden Methoden werden Ihre neuen Inhalte jedoch nicht in Ihrem RSS-Feed angezeigt.
Um Inhalte so zu ändern, dass sie in Ihrem RSS-Feed angezeigt werden, können Sie einen Filter verwenden:
function after_post_content($content) {
if(!is_feed() && !is_home()) {
$content.= 'Like this post?
';
$content.= '
';
}
return $content;
}
add_filter ('the_content', 'after_post_content');
Dies ist ein Filter und keine Aktion, da Sie den Inhalt Ihres Beitrags ändern und keine völlig neue Funktion hinzufügen.
WordPress-Hooks können am Ende Ihrer Datei „functions.php“ in Ihrem aktuellen Theme-Verzeichnis hinzugefügt werden. Sie können sie auch verwenden, um Ihre eigenen Plugins zu erstellen. Stellen Sie sicher, dass Sie Ihre Website sichern, bevor Sie Änderungen vornehmen.
Ein paar Dinge, die Sie beachten sollten
Sehen Sie sich die PHP-Codierungsstandards für WordPress an
Bevor Sie mit der Erstellung eigener Aktionen und Filter beginnen, werfen Sie einen Blick auf die PHP-Codierungsstandards für WordPress.
WordPress ist ein Gemeinschaftsprojekt und seine Funktionen interagieren nicht nur mit dem WordPress-Kern, sondern auch mit anderen Themes und Plugins. Es hilft allen, gut miteinander auszukommen und gut zusammenzuspielen, wenn wir alle den Code konsequent verwenden.
Verwenden Sie einen eindeutigen Namen für Funktionen
Achten Sie beim Erstellen Ihrer eigenen Hook-Funktionen darauf, einen eindeutigen Namen zu verwenden. Wenn Sie einen Funktionsnamen verwenden, der bereits irgendwo auf Ihrer Website verwendet wird, kann dies zum Stillstand Ihrer gesamten Website führen.
Die Standardpraxis hierfür ist die Verwendung eines Präfixes, das dem Namen Ihres Themes oder Plugins entspricht. Wenn Sie beispielsweise ein Plugin namens Awesome WordPress Plugin erstellen, können Sie allen seinen Funktionen awp_ voranstellen.
Verwenden Sie viele Kommentare
Kommentare sind nicht nur für andere, die sich Ihren Code ansehen, nützlich, sondern auch für Sie. Möglicherweise müssen Sie Ihren Code Monate oder Jahre später noch einmal ändern und vergessen dann genau, was Sie getan haben. Kommentare erleichtern außerdem das schnelle Lesen und Verstehen des Codes. Um sich Zeit und Kopfschmerzen zu ersparen, verwenden Sie Kommentare, um zu erklären, was mit dem Code los ist, auch wenn es Ihnen jetzt offensichtlich erscheint.
Abschluss
WordPress lässt sich mit den richtigen Themes oder Plugins leicht modifizieren, aber manchmal möchten Sie eine einmalige Änderung vornehmen, für die Sie kein Theme oder Plugin finden. Indem Sie lernen, wie WordPress-Hooks funktionieren, werden Sie WordPress als Ganzes besser verstehen.
