Das wp_enqueue_script
Funktion ist die beste Lösung zum Laden von JavaScript-Dateien in Ihre WordPress-Site. Wenn Sie ein Design entwickeln, das JavaScript oder JavaScript - Bibliotheken verwendet, können Sie das wp_enqueue_script
Funktion ist der Weg zu gehen. Wenn Sie dies vorher noch nicht wirklich verwendet haben, kann dies zu Verwirrungen führen. Heute untersuchen wir eingehend, wie Sie Skripts mithilfe der Enqueue-Funktion ordnungsgemäß in Ihr Design oder Plugin laden.
Bestimmte Aspekte von Anwendungen oder Techniken, die in diesem Lernprogramm verwendet werden, haben sich seit der ursprünglichen Veröffentlichung geändert. Dies kann es ein wenig schwierig machen, mitzuverfolgen. Wir empfehlen Ihnen, sich diese neueren Tutorials zum gleichen Thema anzusehen:
Wenn Sie aus einem einfachen HTML-Hintergrund stammen, werden Sie wahrscheinlich gewohnt, Javascript-Dateien (einschließlich von jQuery bis hin zu Plug-In-Skripts) direkt in die Kopf- oder Fußzeile Ihres Dokuments zu laden. Wenn Sie sich in einer eigenständigen Umgebung wie einer einfachen HTML-Seite befinden, ist das in Ordnung. Wenn Sie jedoch die unzähligen anderen Skripte einführen, die möglicherweise auf einer WordPress-Installation ausgeführt werden, wird es schwieriger, das zu tun, was ich als "Crowd-Management" bezeichnet Skripte.
Warum laden Sie Ihr JavaScript nicht in die Kopf- oder Fußzeile? Die Antwort ist ziemlich einfach: Wenn Sie Ihr JavaScript so einfügen, besteht das Risiko, dass Konflikte mit Ihrem JavaScript in Ihrer Installation auftreten (denken Sie daran, dass mehrere Plugins versuchen, dieselben Skripts oder verschiedene Versionen dieses Skripts zu laden). Außerdem wird Ihr JavaScript weiter geladen jeden Seite, auch wenn Sie es nicht brauchen. Dies führt zu unnötig längeren Ladezeiten für Ihre Seiten und kann andere JavaScript-Funktionen beeinträchtigen, z. B. von einem Plugin oder innerhalb des Dashboards. Dies ist ein Nein-Nein in der WP-Entwicklung.
Mit der wp_enqueue_script
Funktion. Sie haben eine bessere Kontrolle darüber, wie und wann Sie Ihr JavaScript laden. Sie können sogar entscheiden, ob Sie in die Kopf- oder Fußzeile laden möchten.
Das wp_enqueue_script
Funktion ist das, was Skripte in Ihre WordPress-Site lädt. Sie werden es normalerweise in Ihrem verwenden Functions.php
Datei.
Das wp_enqueue_script
Die Funktion selbst ist ziemlich direkt, also werfen wir einen Blick auf ihre Struktur.
wp_enqueue_script ($ handle, $ src, $ deps, $ ver, $ in_footer);
$ handle
content_url
, bloginfo ("template_url")
, oder get_template_directory_uri ()
(empfohlen von der WordPress-Funktionsreferenz) für Designs und plugins_url
für Plugins. $ deps
$ ver
$ in_footer
Wie Sie sehen können, sind alle Parameter außer $ handle
sind optional. Auf den ersten Blick mag das seltsam erscheinen. Insbesondere das $ scr
Parameter. Wie kann WordPress das Skript ohne URL finden??
Der Grund dafür ist, dass WordPress integrierte Skripts enthält. Zum Beispiel ist jQuery Teil des WordPress-Kerns, und das WordPress-Entwicklungsteam machte es sehr einfach, diese integrierten Skripts zu laden. Alles, was Sie tun müssen, ist, den Skript-Handle zu übergeben wp_enqueue_script
.
Eine vollständige Liste der integrierten WordPress-Skripts und ihrer Handles finden Sie in der Funktionsreferenz von WordPress.
Nun, da Sie die Teile von verstehen wp_enqueue_script
. Schauen wir uns an, wie Sie das tatsächlich mit Ihrem WordPress-Theme verwenden.
Es gibt noch andere WordPress-Funktionen, die Sie kennen müssen, bevor Sie Skripts richtig einbetten können.
wp_register_script
wp_register_script
Funktion wird verwendet, um Ihr Skript mit WordPress zu registrieren. Was dies bedeutet, können Sie verwenden wp_enqueue_script
für Ihre Skripte genauso wie die integrierten Skripts, die mit WordPress geliefert werdenwp_register_script
ist genau das gleiche wie das wp_enqueue_script
Struktur, also werde ich es nicht noch einmal besprechen. Sie können bei Bedarf auf den obigen Abschnitt verweisen.wp_register_script
genauso wie du es würdest wp_enqueue_script
. Dann packen Sie das Skript mit ein wp_enqueue_script
indem Sie den Griff daran übergeben. wp_deregister_script
wp_deregister_script
Entfernt ein registriertes Skript.wp_deregister_script
wp_dequeue_script
Entfernt ein registriertes Skript.Der einfachste Weg, das Skript zu laden, ist das Platzieren der wp_enqueue_script
wo immer du es auf deiner Seite haben willst.
Einfach genug, einfach nicht zu elegant. Besser ist es, die Datei function.php zum Laden Ihrer Skripte zu verwenden. Dazu müssen Sie eine benutzerdefinierte Funktion erstellen. Dann benutze add_action
um Ihre Funktion zu initialisieren.
load_my_scripts
Myscript
Myscript
load_my_scripts
Das Skript, das wir gerade geladen haben, benötigt die aktuelle Version von jQuery, sodass wir die Registrierung der Standardversion von WordPress rückgängig machen und die neue Version unserer Funktion hinzufügen.
Myscript
OK, gute Praktiken für die WordPress-Codierung legen fest, ob eine Funktion vorhanden ist, bevor wir sie ausführen. Dies wird auf diese Weise erreicht.
Dies prüft, ob Ihre Funktion bereits existiert. Wenn dies nicht der Fall ist, wird Ihre Funktion ausgeführt.
Lassen Sie uns dies zu unserem hinzufügen load_my_scripts
Funktion
Wenn Sie jetzt zu Ihrer Admin-Seite gehen, möchten Sie nicht, dass Ihr Skript geladen wird. Dies kann zu einem Konflikt führen und die Administrationsseite unterbrechen. Als Faustregel gilt, dass Sie nicht möchten, dass Ihre benutzerdefinierten Skripts auf der Verwaltungsseite geladen werden. Skripts für Plugins sind eine andere Geschichte. Ich werde das später besprechen.
Wir werden prüfen, ob die Seite geladen ist nicht die Admin-Seite mit! is_admin (). Wenn nicht, werden unsere Skripte geladen.
Nun sieht die Funktion so aus.
Da gehst du hin. Eine schöne Vorlage, mit der Sie Skripts erstellen können
OK, jetzt wo du das hinbekommen hast. Fügen wir ein Skript hinzu, das nur auf der Admin-Seite Ihres Plugins geladen werden kann.
Es ist eigentlich sehr einfach. Schreiben Sie einfach Ihre Skript-Funktion wie in dem vorherigen Abschnitt in der Datei Ihres Plugins. Verwenden Sie 'admin_init' nur jetzt anstelle von 'init' in der add_action.
Das ist es, jetzt wird Ihr Skript nur geladen, wenn Sie die Administratorseite Ihres Plugins aufrufen.
Ich hoffe, dass dies Ihnen helfen wird, besser zu verstehen Enqueue-Skripte In WordPress können Sie jetzt rausgehen und eigene Skripte laden!
Wenn es etwas gibt, das Sie nicht verstehen oder darüber informieren möchten. Ich empfehle den WordPress-Codex. Hier ist eine Liste anderer relevanter Codex-Links für ya: