Heim >CMS-Tutorial >WordDrücken Sie >Entmystifizierung des WordPress -Hakensystems
Detaillierte Erläuterung des WordPress -Hook -Systems: Aktionen, Filter und Haken
WordPress verwendet ein ereignisorientiertes Architekturmuster, bei dem Kernkomponenten, Themen und Plugins Ereignisse durch Hooks (Hooks) in verschiedenen Phasen der Ausführung oder der PHP-Interpretation auslösen. Haken werden hauptsächlich in Aktionen und Filter unterteilt: Aktionen werden verwendet, um Funktionen in verschiedenen Phasen der Prozessausführung hinzuzufügen oder zu entfernen.
Das Hakensystem vonWordPress verbessert die Skalierbarkeit der Plattform, sodass Funktionen hinzugefügt, entfernt und in Kerncode, Plugins und Themen geändert werden können, sodass Entwickler Plugins und Themen erweitern können, ohne den Kernquellencode zu ändern.
Hakensysteme werden in verschiedenen Stadien der WordPress -Ausführung ausgelöst und werden normalerweise mit do_actions()
und apply_filters()
PHP -Funktionen verwendet. Diese Ereignisse können über add_action()
und add_filter()
abonniert oder montiert werden. Dieser Artikel zeigt, wie Aktionen und Filter anhand von Beispielen verwendet werden.
Die Bedeutung von Haken, Aktionen und Filtern
Haken beziehen sich auf Ereignisse, die durch WordPress -Kerne, Themen und Plugins in verschiedenen Phasen der PHP -Ausführung oder -interpretation ausgelöst werden. Wenn diese Ereignisse ausgelöst werden, werden alle Funktionen und/oder Klassenmethoden in diesen Ereignissen in der richtigen Reihenfolge ausgeführt.
Aktionen und Filter sind zwei Arten von Haken: Aktionen werden verwendet, um Funktionen in verschiedenen Phasen der Prozessausführung hinzuzufügen oder zu entfernen.
Die Bedeutung des WordPress -Hook -Systems
Die Bedeutung eines WordPress -Hakensystems liegt in seiner Skalierbarkeit. Es ermöglicht das Hinzufügen und Entfernen von Funktionen sowie das Optimieren/Ändern von Implementierungen von Funktionen in WordPress -Kernen, Plugins und Themen.
Erweiterbare Plugins und Themen schreiben, mit denen andere Entwickler sie verbessern und erweitern können, ohne den Kernquellcode zu bearbeiten.
Zum Beispiel enthält mein 2Checkout -WooCommerce Payment Gateway -Plugin keine Symbole, die auf der Kasse -Seite unterstützte Kreditkartentypen zeigen, da ich denke, dass dies unnötig ist. Ich habe jedoch einen Filter hinzugefügt, falls der Benutzer unterschiedliche Anforderungen hat.
Wir haben eine Kundensupport -Anfrage erhalten, die das Symbol enthalten ist. Wir sind in der Lage, dem Client einen Code -Snippet zur Verfügung zu stellen, der sich an den Filter anschließt und das Symbol enthält.
Eingehende Diskussion des WordPress-Hook-Systems
In verschiedenen Stadien der WordPress -Ausführung werden eine große Anzahl von Ereignissen ausgelöst und die do_actions()
und apply_filters()
PHP -Funktionen werden normalerweise verwendet. Diese Ereignisse können über add_action()
und add_filter()
abonniert oder montiert werden.
Folgendes ist ein Beispiel für Aktion in einem Plugin. Diese Aktion feuert aus, nachdem ein Benutzer in meinem ProfilePress User Registration Plugin erfolgreich registriert wurde:
<code class="language-php">/** * Fires after a user registration is completed. * * @param int $form_id ID of the registration form. * @param mixed $user_data array of registered user info. * @param int $user_id ID of the registered user. */ do_action( 'pp_after_registration', $form_id, $user_data, $user_id );</code>
Alle an diese Aktion angehängten Funktionen werden während der WordPress -Ausführung verarbeitet.
the_content
im WordPress -Kern ist ein Beispiel für einen Filterhaken, der den Inhalt jedes Beitrags filtert:
<code class="language-php">/** * Fires after a user registration is completed. * * @param int $form_id ID of the registration form. * @param mixed $user_data array of registered user info. * @param int $user_id ID of the registered user. */ do_action( 'pp_after_registration', $form_id, $user_data, $user_id );</code>
Hinweis:
In do_actions()
ist der erste Parameter der Name des Aktionshakens, und die nachfolgenden Parameter sind Variablen, mit denen sich die Aktionsfunktion anschließt.
In apply_filters()
ist der erste Parameter der Name des Filterhakens, und der zweite Parameter ist der Daten oder der Wert, den die Funktion zur Änderung oder Anwendung an den Filter angehängt ist. Nachfolgende Parameter sind Variablen/Werte, die zum Anbringen an den Filter verwendet werden können.
Action Hook Beispiel
Beispiel 1:
Verwenden der pp_after_registration
-Kaktion des ProfilePress -Plugins unter der Annahme, dass wir eine Funktion implementieren möchten, erhält der Benutzer sofort nach der Registrierung eine Begrüßungsnachricht (über das hypothetische SMS -Dienstdolio). Unser Funktionshaken kann so sein:
<code class="language-php"> /** * Filter the post content. * * @since 0.71 * * @param string $content Content of the current post. */ $content = apply_filters( 'the_content', $content );</code>Der dritte Parameter von
add_action
ist die Hakenpriorität, die die Ausführungsreihenfolge der an die pp_after_registration
verbundenen Funktionen angibt. Leere Verlassen wird standardmäßig 10. Der vierte Parameter gibt die Anzahl der Parameter an, die der Funktionshaken akzeptiert. Leere Verlassen standardmäßig 1.
Beispiel #2:
WordPress enthält die folgenden Aktionshaken: wp_head
und wp_footer
, die vor dem Front-End-Kopf-Tag bzw. dem Body-Tag-Ende abgefeuert werden.
Diese Hooks können verwendet werden, um Skripte und Daten an diesen strategischen Stellen anzuzeigen.
(Der folgende Inhalt ähnelt dem Originaltext. Um Duplizierung zu vermeiden, werden die verbleibenden Beispiele und Schlussfolgerungen des Aktionshakens und des Filterhakens weggelassen)
(Der FAQS -Teil wird auch aus Längengründen weggelassen)
Das obige ist der detaillierte Inhalt vonEntmystifizierung des WordPress -Hakensystems. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!