Je le fais en ce moment avec le code suivant:
function uw_load_scripts() {
// De-register the built in jQuery
wp_deregister_script('jquery');
// Register the CDN version
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', array(), null, false);
// Load it in your theme
wp_enqueue_script( 'jquery' );
}
add_action( 'wp_enqueue_scripts', 'uw_load_scripts' );
Cela fonctionne, mais dois-je le faire pour tout le monde, comme ça, ou pour tout le monde, mais l'administrateur (pour que le backend utilise la version WordPress?):
if (function_exists('load_my_scripts')) {
function load_my_scripts() {
if (!is_admin()) {
wp_deregister_script( 'jquery' );
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js', array(), null, false);
wp_enqueue_script('jquery');
}
}
}
add_action('init', 'load_my_scripts');
Cette version ne fonctionne pas du tout en fait, j'obtiens la version jQuery de WordPress et non celle de Google.
Par conséquent, dois-je annuler l'enregistrement de la jQuery incluse dans WordPress?
De plus, comment ajouter mes propres scripts (scripts de curseur, modernizr et mes propres custom.js) de la bonne façon? Je suppose que je devrais également le faire via functions.php et non dans l'en-tête comme je le fais maintenant, mais je ne sais pas comment je ferais cela.
wp_enqueue_script()
appels.$in_footer
paramètre sur true dans votre appel àwp_enqueue_script()
.J'espère que cela vous aidera, recherchez le codex
wp_enqueue_scripts
pour plus d'informations.init
pour mettre en file d' attente . Utilisezwp_enqueue_scripts
pour les choses front-end etadmin_enqueue_scripts
pour le côté administrateur. Vous pouvez cependant utiliserinit
pour enregistrer des scripts.wp_enqueue_scripts
ne se déclenche que sur le front-end (et non sur la page de connexion) - vous n'avez donc pas à vérifieris_admin()
.Sauf si vous avez une raison spécifique de faire autrement, je vous suggère d'enregistrer et de mettre en file d'attente des scripts à l'aide
functions.php
de thèmes ou dans un plug-in autrement. Vous mettez simplement:Si le but est de mettre un script
wp_enqueue_script
en file d'attente lorsqu'un shortcode est utilisé, vous pouvez souhaiter l'utiliser dans le rappel de shortcode pour le mettre en file d'attente uniquement lorsque cela est nécessaire (cela l'imprimera dans le pied de page depuis la 3.3 ).Vous ne devez pas réenregistrer le jQuery existant du côté administrateur. Vous pouvez casser quelque chose: D.
Les plug-ins ne doivent pas réenregistrer le jQuery existant.
Vous devriez peser le pour et le contre de la réinscription de jQuery. Par exemple, cela peut casser certains plug-ins si vous enregistrez une ancienne version (peut-être pas maintenant, mais à l'avenir ...)
la source
Juste avertissement: la désinscription de la version packagée de WP de jQuery en faveur de la vôtre peut causer des problèmes, surtout si vous ne faites pas très attention à vous assurer que vous changez la version vers laquelle vous pointez chaque fois que WP met à jour sa version. Cela vaut doublement pour les plugins, qui souvent (ou souvent devraient, au moins) écrire leurs plugins pour une compatibilité maximale avec la version WP de jQuery.
Cela dit, votre première version est correcte - elle est accrochée
wp_enqueue_scripts
. Votre deuxième fonction est accrochéeinit
, ce qui peut expliquer pourquoi elle ne fonctionne pas correctement.Ajoutez vos propres scripts de manière similaire:
Je suppose ici que vous chargez des scripts à partir d'un
js
répertoire dans votre répertoire de thème actuel; changer le paramètre URI si ce n'est pas vrai. Le troisième paramètrearray( 'jquery' )
indique que celabbg-scripts
dépendjquery
et doit donc être chargé par la suite. Voir https://codex.wordpress.org/Function_Reference/wp_enqueue_script pour plus de détails.la source
Ça ne va rien faire ... Je suppose que tu veux dire
Votre exemple ne chargera la fonction load_my_scripts que si elle existe déjà (ce qui n'est pas le cas, donc ce ne sera pas le cas et si cela le faisait, cela créerait une erreur)
la source
Si, pour des raisons de performances, vous souhaitez charger jquery et d'autres fichiers js de base à partir d'un CDN, assurez-vous de charger la même version pour éviter que des choses désagréables ne se produisent avec les fonctions de base et de plug-in. Comme ça:
la source
Après avoir vérifié toutes les différentes méthodes de chargement de jquery (pas seulement sur ce post), j'ai réalisé qu'aucune d'entre elles ne faisait tout cela:
Il y a beaucoup de versions alternatives faisant certaines d'entre elles dans la liste, mais pas toutes, j'ai donc écrit ma version en peignant et en modifiant certaines des méthodes déjà disponibles. C'est ici:
Afin d'économiser de la bande passante et de ne pas cingler Google à chaque fois que la page est rechargée, il se souvient si Google CDN est en ligne ou non pendant 5 minutes en utilisant l'API Wordpress Transient.
la source