2010-10-17 3 views
3

Sur mon site, je charger le script jQuery UI en utilisant le code suivant:Comment puis-je éviter que les scripts jQuery soient chargés plusieurs fois?

wp_enqueue_script('nf-jquery-ui','http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js')

Dans mon plugin J'utilise le code suivant:

wp_enqueue_script('wp_filebrowser-jqueryui','http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.js')

Le résultat est que ces deux lignes sont ajoutés à mon en-tête - et charger un script deux fois n'est pas très bon. Oui, je sais que je peux le supprimer de mon plugin ou de mon site. Mais le fait est que n'importe qui peut télécharger mon plugin, et ils peuvent déjà charger le script de l'interface utilisateur jQuery.

Comment puis-je éviter l'ajout d'un script deux fois?

+2

4 espaces avant la mise en forme d'une ligne en tant que code. 'ctr-k' pour une sélection. –

+1

En outre, vous citez des fonctions de Wordpress PHP non? Vous pourriez vouloir le dire. –

+0

@ Peter: Il est moins lisible avec 4 espaces obtenant ainsi une barre de défilement. L'utilisation de '' facilite la lecture dans ce cas. - Avoir Wordpress dans les balises et utiliser 'wp_enqueue_script' n'est donc pas assez de pointeurs? – Steven

Répondre

2

This post sur Stack Overflow peut être utile sur la façon de tester si jQuery UI a été chargée -

+0

Brillant. Va vérifier cela. Merci! – Steven

+0

C'est lié à la vérification dans le navigateur, je présume qu'il veut vérifier via PHP. – Marko

+0

Il ne nous a pas dit, donc on ne peut que deviner ... – Kissaki

2

Vous pouvez désenregistrer le premier script en mettant cette ligne dans votre plugin ...

wp_deregister_script (« nf -jquery-ui ');

avant d'appeler votre enqueue_script ...

wp_enqueue_script ('wp_filebrowser-jQueryUI', ...

Cela devrait supprimer le premier appel jQuery sur toutes les pages qui utilisent votre plugin.

+0

Oui, je pense que 'wp_deregister_script' est assez proche de ce que j'ai besoin de faire. – Steven

0

Le WP API states le premier param est un gestionnaire. celui-là est probablement utilisé si un script est seulement inséré une fois (bien que je ne peux pas dire à coup sûr).

Il a également defines handlers pour l'interface utilisateur jQuery et jQuery que vous devriez probablement utiliser. Ces gestionnaires sont pour inc Les scripts et jQuery ainsi que jQuery-ui sont listés ici. Si vous voulez mettre à jour, pensez à passer la version à la fonction wp_ ou simplement à remplacer le fichier de script jQuery déjà utilisé/empaqueté avec wp.

Questions connexes