Umgang mit einer Bibliothek, die von jQuery abhängig ist

Ich bin dabei, die pikachoose.com Bibliothek mit WordPress zu benutzen. Diese Bibliothek verweist jedoch auf jQuery und verwendet die Kurzform (mit $). In der WordPress-Dokumentation heißt es, dass die Kurzform nicht verwendet werden sollte, und stattdessen sollte ich die Langform verwenden, um jQuery-functionalität zu verwenden und Konflikte zu vermeiden.

Mein Problem ist, dass die Bibliothek / das Objekt, das ich herunterlade, in der kurzen Form geschrieben ist. Wie kann ich es mit WordPress verwenden? Die Dokumentation in WordPress besagt, dass ich es so verpacken sollte:

jQuery(document).ready(function($) { // Inside of this function, $() will work as an alias for jQuery() // and other libraries also using $ will not be accessible under this shortcut }); 

oder so:

 (function($) { // Inside of this function, $() will work as an alias for jQuery() // and other libraries also using $ will not be accessible under this shortcut })(jQuery); 

Es ist jedoch nicht klar, wie die externe Datei eingefügt werden soll. Bitte erläutern Sie mit einem Beispiel. Vielen Dank.

Solutions Collecting From Web of "Umgang mit einer Bibliothek, die von jQuery abhängig ist"

Vor allem, wenn Sie PikaChoose Quellcode untersuchen, dann werden Sie sehen, dass es den Code mit selbstaufrufender Schließung umschließt :

 (function($) { // ... })(jQuery); 

Es bedeutet, dass sie die Kurzform richtig verwenden. Gleichzeitig bedeutet das, dass Sie nur jQuery- und PikaChoose-Skripte in die Warteschlange stellen müssen. Sie können dies tun, indem Sie Ihren eigenen Hook für wp_enqueue_scripts Aktion wp_enqueue_scripts :

 add_action( 'wp_enqueue_scripts', 'wpse8170_enqueue_scripts' ); function wpse8170_enqueue_scripts() { wp_register_script( 'pikachoose', '/path/to/pikachoose.js', array( 'jquery' ), null, true ); // register pikachoose script wp_enqueue_script( 'wpse8170-my-custom-js', '/path/to/my.js', array( 'pikachoose' ), null, true ); // enqueue my.js and pikachoose scripts } 

Achten Sie darauf, dass Sie keine Drittanbieterbibliotheken in die Warteschlange stellen, registrieren Sie sie einfach und verwenden Sie sie als abhängige Bibliothek, wenn Sie Ihre benutzerdefinierte JavaScript-Datei in die Warteschlange stellen.

Ihr my.js sollte so aussehen:

 (function($) { $(document).ready(function() { $("#divID").PikaChoose(); }); })(jQuery);