Die Besonderheiten des Enqueue-Skripts für WordPress-Themes und Plugins

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.

Nachfolgende Änderungen an Techniken und Software

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:

  • So fügen Sie JavaScript und CSS in Ihre WordPress-Themes und Plugins ein

Warum verwenden wir die Enqueue-Funktion??

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 verstehen wp_enqueue_script Funktion

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
    • Dies ist das Handle (der Name) des zu ladenden Skripts. Es sollte nur Kleinbuchstaben sein.
    • Dies ist erforderlich
    • Voreinstellung: Keine
  • $ scr
    • Dies ist die URL des Skripts.
    • Wenn Sie lokal von Ihrem Server laden, sollten Sie die URL für Skripts auf Ihrem Server nicht fest codieren. Es ist besser zu benutzen content_url, bloginfo ("template_url"), oder get_template_directory_uri () (empfohlen von der WordPress-Funktionsreferenz) für Designs und plugins_url für Plugins.
          
    • Wenn Sie Ihr Skript von einem anderen Server laden. Laden Sie beispielsweise die jQuery-Bibliothek vom Google-CDN. Geben Sie einfach die URL der zu ladenden Datei ein.
       
    • Dies ist optional
    • Voreinstellung: false
  • $ deps
    • Dies ist ein Array, das alle Skriptabhängigkeiten behandelt. Beispielsweise ist für Ihr fade.js-Skript jQuery erforderlich, um ausgeführt zu werden. Dieser Parameter ordnet Ihr Skript der jQuery-Bibliothek zu.
    • Sie verwenden "false", wenn Sie diesen Parameter nicht verwenden möchten, aber andere Parameter verwenden möchten.
       
    • Das erforderliche Skript muss zuerst geladen werden.
    • Sie verwenden das erforderliche Skripthandle für das Array.
       
    • Dies ist optional
    • Standardeinstellung: array ()
  • $ ver
    • Dies ist die Version Ihres Skripts.
    • Die Version wird als Abfragezeichenfolge an das Ende des Pfads angehängt. Die Version kann die Versionsnummer, false oder NULL sein.
    • Wenn Sie für die Version "false" verwenden. Die WordPress-Version wird verwendet.
    • Wenn Sie NULL verwenden. Nichts wird als Version verwendet. Dies wird von der WordPress-Funktionsreferenz nicht empfohlen.
    • Wenn Sie nicht den Parameter $ ver verwenden, wird standardmäßig die WordPress-Version verwendet.
       
    • Dies ist optional
    • Voreinstellung: false
  • $ in_footer
    • Dadurch wird festgelegt, wo sich das Skript auf der Seite befindet.
    • Dieser Parameter ist ein Boolean ("true" oder "false").
    • Standardmäßig wird Ihr Skript in der , aber es ist besser, es vor dem schluss des Etikett. Dies wird erreicht, indem "true" an den Parameter übergeben wird.
       
    • Dies ist optional
    • Voreinstellung: false

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.


Verwenden des Enqueue-Skripts mit Ihrem WordPress-Theme

Nun, da Sie die Teile von verstehen wp_enqueue_script. Schauen wir uns an, wie Sie das tatsächlich mit Ihrem WordPress-Theme verwenden.

Das wichtigste zuerst

Es gibt noch andere WordPress-Funktionen, die Sie kennen müssen, bevor Sie Skripts richtig einbetten können.

  • wp_register_script
    • Das 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 werden
    • Die Parameterstruktur für wp_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.
    • Einfach einrichten 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
    • Das wp_deregister_script Entfernt ein registriertes Skript.
    • Alles was Sie tun müssen, ist den Handle zu übergeben.
       
  • wp_deregister_script
    • Das wp_dequeue_script Entfernt ein registriertes Skript.
    • Alles was Sie tun müssen, ist den Handle zu übergeben.
       

Laden Sie Ihre Skripte

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.

 
  • Zeile 2 erstellt eine aufgerufene Funktion load_my_scripts
  • Zeile 3 registriert das Skript Myscript
  • Zeile 4 stellt das Skript in eine Warteschlange Myscript
  • Zeile 6 initialisiert die Funktion 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.

 
  • Zeile 2 entfernt die Registrierung der Standard-jQuery, die mit WordPress geliefert wird
  • Zeile 3 registriert eine andere Version von jQuery
  • Zeile 4 stellt das Skript in eine Warteschlange 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


Verwenden des Enqueue-Skripts für Ihre Plugins

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.


Fazit

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:

  • Funktionsreferenz / wp Enqueue-Skript
  • Funktionsreferenz / WP-Register-Skript
  • Funktionsreferenz / wp Abmeldeskript
  • Funktionsreferenz / wp dequeue-Skript