Bei der Programmierung ist die Initialisierung von Daten wichtig, da hier die Voraussetzungen für die Anwendung festgelegt werden, z. B. die Attribute, die erforderlichen Dateien und Daten, die Verbindung zur Datenbank usw..
WordPress selbst hat ein klar definiertes Initialisierungsverfahren. Im Laufe des Seitenlebenszyklus löst WordPress eine Reihe von Aktionen aus, von denen viele in vorherigen Artikeln behandelt wurden. Zu diesem Zweck stellt es eine Reihe von Initialisierungs-Hooks bereit, die natürlich zum Initialisieren der Anwendung verwendet werden, bevor ihre primäre Funktionalität ausgeführt wird.
Als Plugin- und Designentwickler ist es wichtig, die Anwendungsfälle zu verstehen und Häufige Fehler dieser Initialisierungshaken, um Qualitätsanwendungen zu erstellen.
In diesem Artikel werden wir einen Blick auf die Wichtigkeit von WordPress-Initialisierungs-Hooks und deren Verwendung in verschiedenen Szenarien werfen.
WordPress bietet eine Vielzahl von Hooks, die bei der Plugin- und Theme-Entwicklung verwendet werden können.
Bei einer typischen Seitenanforderung werden alle Aktionshooks in einer bestimmten Reihenfolge ausgeführt. Insbesondere werden alle Hooks ausgeführt, nachdem die Kern-WordPress-Anwendung ihren Ladevorgang abgeschlossen hat.
Daher werden Initialisierungs-Hooks hauptsächlich dazu verwendet, den Prozess in Plugins und Themes zu initialisieren. Lassen Sie uns einen Blick auf die verfügbaren werfen drin
Haken in WordPress, in der Reihenfolge ihrer Ausführung:
register_widget
Funktion wird innerhalb dieses Hooks ausgeführt.admin_bar_init
, wird ausgeführt, nachdem die Verwaltungsleiste initialisiert wurde. Der WordPress-Codex enthält keine Erklärung für diesen Hook, und nicht viele Plugins verwenden diesen Hook. Sie können auch den gesamten WordPress-Action-Hook-Ausführungsprozess im Codex überprüfen.
WordPress führt jeden Hook in einer bestimmten Reihenfolge aus (die Sie im Codex sehen können). Daher ist es wichtig, die Reihenfolge des Auftretens bei der Verwendung der einzelnen Aktionshaken zu berücksichtigen. Berücksichtigen Sie die folgenden Szenarien, um die Unterschiede zu identifizieren.
admin_init
In der drin
HakenBei Bedarf können wir WordPress-Hooks innerhalb anderer Hooks definieren. In einer typischen Anfrage, drin
Haken läuft vor dem admin_init
Haken. Versuchen wir also, etwas durch Platzieren auszugeben admin_init
in der drin
Haken:
add_action ('init', 'test_init'); Funktion test_init () add_action ('admin_init', 'test_admin_init'); function test_admin_init () echo "Admin Init Inside Init";
Nachdem Sie diesen Code ausgeführt haben, erhalten Sie die gewünschte Ausgabe mit Echo
Aussage.
drin
In der admin_init
HakenSehen wir uns den Code und die Ausgabe dieses Szenarios an, bei dem ein früherer Hook innerhalb eines Hooks definiert wird, der später in der Ausführungsreihenfolge erscheint.
add_action ('admin_init', 'test_admin_init'); Funktion test_admin_init () add_action ('init', 'test_init'); function test_init () echo "Init in Admin-Init";
Hier erhalten wir keine Ausgabe - das wird erwartet - weil die drin
Hook führt vorher aus admin_init
Hook, und somit ist es nicht verfügbar, nachdem Sie das festgelegt haben admin_init
Haken.
Wie Sie sehen können, ist es wichtig, die Ausführungsprozedur von Hooks für das Erstellen erfolgreicher Plugins zu verstehen. Die Reihenfolge des Auftretens ist für alle Haken in WordPress wichtig.
drin
und admin_init
HakenUnter den Init-Haken, drin
und admin_init
Es lohnt sich zu erkunden, da diese beiden Haken in vielen Plugins weit verbreitet sind. Die Verwendung anderer Initialisierungshaken ist im Vergleich zu diesen beiden Haken unkompliziert.
Daher werden wir uns die Funktionalität von ansehen drin
und admin_init
Haken.
Das drin
Hook wird in jeder Anfrage für ausgeführt beide das Frontend der WordPress-Site sowie das Backend.
Das admin_init
Hook wird ausgeführt nach dem Der Admin-Abschnitt schließt den Ladevorgang ab. Dieser Hook wird also auch bei jeder Anfrage der Admin-Seite ausgeführt. Benutzer müssen angemeldet sein, um diesen Hook nutzen zu können.
Da diese beiden Hooks für jede einzelne Anforderung ausgeführt werden, müssen wir die Funktionalitäten innerhalb der Implementierung dieser Hooks entsprechend planen, da dies die Leistung der Site erheblich beeinflussen kann.
drin
HakenIm Allgemeinen sind Initialisierungs-Hooks in den meisten vorhandenen WordPress-Plugins verfügbar. Sie sind für die Verwaltung ihrer Verarbeitung unerlässlich.
WordPress definiert nicht, was wir einschließen sollen und was nicht. Daher können Entwickler kleinere Fehler machen, was wiederum zu einem erheblichen Leistungsabfall führen kann. In diesem Abschnitt werden wir untersuchen, wie wir beides effektiv nutzen können drin
und admin_init
Haken.
Werfen wir einen Blick auf die Best Practices bei der Verwendung von Init-Hooks.
drin
Hakendrin
Haken zum Registrieren neuer benutzerdefinierter Beitragstypen.drin
Haken, da es die Ausführung in jeder Anforderung garantiert.drin
Beachten Sie jedoch, dass diese neuen Regeln erst wirksam werden, wenn wir die Umschreiberegeln bereinigen.drin
Haken.drin
Haken.admin_init
Hakenadmin_init
ist die erste Aktion, die im Admin-Bereich ausgeführt wird, sodass wir sie zur Verwaltung der Zugriffssteuerung verwenden können.Es gibt viele andere mögliche Implementierungen mit diesen Hooks, aber diese Features haben eigene Hooks und es ist nicht notwendig, die Initialisierungs-Hooks zu verwenden.
Häufig finden wir Szenarien, in denen Entwickler die Verwendung der Initialisierungs-Hooks falsch verstehen. Unsachgemäße Verwendung dieser Haken kann zu schwerwiegenden Leistungsproblemen führen (sowie zu minderwertigen Plugins)..
Identifizieren wir die häufigsten Fehler und wie man sie vermeiden kann:
drin
Aktionen und enden in jeder Anforderung unnötigen Performance-Overhead. Wir sollten eine Möglichkeit zum manuellen Löschen der Regeln zum Umschreiben mithilfe einer Schaltfläche oder zum Löschen der Regeln für seltene Aktivitäten wie das Speichern von Plugin-Einstellungen einrichten.drin
und admin_init
kann anstelle von spezifischen Hooks verwendet werden, so dass Entwickler diese normalerweise verwenden, ohne dass sie deren volle Wirkung kennen. Einige der häufigsten Szenarien, in denen Entwickler verwenden drin
und admin_init
Haken anstelle der empfohlenen Haken sind wie folgt: add_menu_page
Funktion. Es wird empfohlen zu verwenden admin_menu
Hook zum Erstellen von Admin-Seiten. Aber viele Entwickler verwenden admin_init
Haken, wie es nach ausgeführt wird admin_menu
Haken.wp_enqueue_scripts
Haken. Aber viele Entwickler verwenden wp_enqueue_script
in der drin
Hook zum Laden von Skripten und Stilen.Es gibt eine Reihe ähnlicher Situationen, in denen Entwickler einen allgemeinen Init-Hook anstelle eines funktionsspezifischen Hooks verwenden. Dies sollte nach Möglichkeit verhindert werden.
WordPress-Initialisierungs-Hooks spielen eine wichtige Rolle bei der Plugin- und Theme-Entwicklung. Viele Entwickler missbrauchen die Hooks, wodurch unnötiger Performance-Overhead entsteht. In diesem Artikel haben wir die korrekte Verwendung dieser Haken sowie häufige Fehler und deren Vermeidung beschrieben.
Jetzt können wir dieselbe Technik auch auf spezifische benutzerdefinierte Hooks anwenden. Viele fortgeschrittene Plugins verwenden eigene Aktionshaken, um sie erweiterbar zu machen. Für solche Plugins können wir Plugin-spezifische Init-Hooks definieren, damit sich die Entwickler auf die Initialisierungsaufgaben für vordefinierte Hooks konzentrieren können, anstatt sie überall zu verwenden.
Fühlen Sie sich frei, um Ihre Erfahrungen mit der ordnungsgemäßen Verwendung von Init-Hooks sowie mit Fehlern bei der Verwendung von Initialisierungs-Hooks zu teilen. Ich freue mich darauf zu sehen, was Sie in den Kommentaren teilen müssen!