Was sind Best Practices für die Einbindung von Jquery-Plugins?

Ich integriere eine WordPress-Site mit einer anderen Site. Die Integration besteht aus einem in WordPress gehosteten Formular, das der Benutzer ausfüllt und an die andere Site übermittelt. Ich benutze eine benutzerdefinierte Seitenvorlage, die mehrere jquery plugins für Dinge wie Formularvalidierung usw. enthält. Zur Zeit verlinke ich direkt zu den js-Dateien in der Vorlage z.

 

Gibt es ein empfohlenes Verzeichnis zum Speichern von Javascript-Dateien? Im Moment befinden sie sich in einem Verzeichnis, das ich in der WordPress-Wurzel erstellt habe. Gibt es eine empfohlene Möglichkeit, jQuery-Plugins einzubinden? Was ist der Vorteil von wp_enqueue_script (‘jquery.validate …. js’) anstatt direkt zu verlinken?

Solutions Collecting From Web of "Was sind Best Practices für die Einbindung von Jquery-Plugins?"

Warum sollten Sie Javascript-Dateien nicht fest codieren?

Es gibt mehrere Gründe, warum Sie Links zu JavaScript-Dateien nicht fest codieren sollten:

  • Es umgeht WordPress ‘Warteschlange von Javascript-Dateien, die entwickelt wurde, um Abhängigkeiten für Sie zu behandeln.
  • Es gibt Plug-ins, die das Laden von Skripten in die Fußzeile erzwingen (Hard-Coding würde bedeuten, dass sie das nicht können und sogar Ihr Plug-in zerbrechen).
  • Hardcoding bedeutet, dass andere Plug-Ins Ihr Skript nicht abmelden oder ersetzen können (sie sollten dazu in der Lage sein). Sie können Ihr Skript auch nicht einfach verwenden, ohne die Datei zweimal zu laden.
  • Durch die Registrierung eines Skripts ( wp_register_script() ) steht es Ihnen frei, wp_enqueue_script() in Widgets, Shortcodes oder Templates zu verwenden. Besser noch, das Skript wird nur dann in die Warteschlange eingereiht, wenn das entsprechende temporäre, Widget oder Shortcode verwendet wird: unmöglich, wenn es fest codiert ist.
  • Mit wp_register_script() / wp_enqueue_script() können Sie oder andere Plug-Ins wp_localize_script() (ursprünglich für die Übergabe lokalisierter Strings gedacht, aber häufiger für die Übergabe von in der database gespeicherten Optionen, die dann in Ihren Javascript-Dateien verwendet werden können) .
  • Es gibt wahrscheinlich mehr Gründe …

Wo speichern Sie die Javascript-Dateien?

Es gibt keinen festgelegten Speicherort für JavaScript-Dateien (in Ihrem Plug-in / Theme). Ich neige dazu, sie in einen js oder assets/js . Etwas, das Sinn macht.

Wie man Javascript-Dateien lädt

Stellen Sie zuerst sicher, dass das jQuery-Plug-in (oder eine beliebige Javascript-Bibliothek) nicht bereits in WordPress enthalten ist. (Es gibt eine Liste hier: http://codex.wordpress.org/Function_Reference/wp_register_script#Handles_and_Their_Script_Paths_Registered_by_WordPress ). Wenn es da ist, benutze es.

Verwenden Sie niemals Ihre eigene Kopie einer JavaScript-Bibliothek / eines Plug-Ins, die in core enthalten ist. Dies wird wahrscheinlich Ihre und andere Plug-Ins zerstören.

In der Regel ist es sinnvoll, das Skript separat zu registrieren und in die Warteschlange zu stellen :

 add_action( 'init', 'wpse125424_register_scripts' ); function wpse125424_register_scripts(){ wp_register_script( 'my-script-handle', //unique handle for our script plugins_url( 'js/my-script.js', __FILE__ ), //url to script array( 'jquery' ), //list any dependencies '1.0' //version, for cache busting ); } 

Rufen wp_enqueue_script('my-script-handle') dann wp_enqueue_script('my-script-handle') wenn Sie die zu ladende Javascript-Datei benötigen (z. B. in einer function, die für ein Widget oder einen Shortcode zuständig ist).

Der Vorteil davon liegt auf der Hand: Ihre Skripte sind an einem einzigen, leicht zu wartenden Ort registriert, und sie sind geschieden von der Aufgabe, das Skript in Warteschlangen einzureihen, was “on the fly” stattfinden kann und möglicherweise einer verzerrten Logik unterliegt.