J'utilise donc Starkers pour baser mon prochain thème WP et j'ai rencontré un petit problème.J'incluais ma propre version de jQuery dans le header.php
fichier, mais lors de l'inspection de mon site à l'aide de Firebug, j'ai remarqué que jquery était téléchargé deux fois, je a creusé un peu et a remarqué que non seulement j'incluais le fichier, mais la wp_head()
fonction aussi.
En essayant de résoudre le problème, j'ai remarqué un commentaire dans le fichier d'en-tête, dont l'origine provenait du thème Twenty Ten:
/* Always have wp_head() just before the closing </head>
* tag of your theme, or you will break many plugins, which
* generally use this hook to add elements to <head>, such
* as styles, scripts, and meta tags
*/
Voici donc mon problème, j'ai l'impression que le fichier jQuery doit être défini avant tout autre fichier qui veut l'utiliser et que cela wp_head()
devrait être la dernière chose dans l' <head>
élément, je suis un peu confus maintenant car je me demande Je mets wp_head()
en haut pour que le fichier jQuery inclus dans WP soit utilisé pour tous mes plugins, même s'il dit de ne pas le faire.
J'ai commenté la ligne jQuery dans la wp_head()
fonction, mais elle est requise pour la page d'administration, j'ai donc dû la remettre.
Je voudrais également utiliser (au moins expérimenter) avec la version Google CDN de jQuery, mais je ne veux pas l'inclure deux fois!
J'espère que vous comprenez ce que j'essaie d'expliquer, toute suggestion sur la façon dont je peux résoudre ce problème serait très appréciée. J'apprécierais également tout conseil sur la façon dont vous gérez vos fichiers JavaScript avec le fichier d'en-tête.
Merci!
la source
Réponses:
D'après le libellé de votre question, vous devez ajouter des scripts en écrivant des
<script>
balises dans votre modèle. Ajoutez vos propres scripts viawp_enqueue_script()
dans votre modèlefunctions.php
, en définissant les dépendances de manière appropriée sur jQuery, etwp_head()
ajoutez les scripts pour vous.Voir la page du codex pour plus d'informations.
la source
<script>
balise, c'est l'alternative que je cherchais, merci beaucoup! :-)'template_redirect'
lieu de'init'
.is_admin()
.get_header()
, le faire dans lefunctions.php
mettra en file d'attente sur chaque page qui peut ne pas être requise. Si j'en ai un global, je le mets en file d'attenteheader.php
avant quewp_head()
soit appelé. De cette façon, les files d'attente sont là où vous vous attendez à ce qu'elles soient dans le<head>
Je suggère de jeter un œil à 5 conseils pour utiliser jQuery avec WordPress . Entre autres choses, il montre le code nécessaire pour charger jQuery à partir de la bibliothèque de Google:
Vous pouvez également consulter le plugin Utiliser les bibliothèques Google .
la source
template_redirect
place deinit
.Bien que @tnorthcutt ait raison de supprimer correctement la jquery native de WP si vous souhaitez charger la vôtre, vous êtes certain de rencontrer des problèmes lorsque vous chargez une version jquery différente de ce noyau WP. Le noyau et les plugins dépendent de sa présence. Donc, si vous ne mettez pas à jour votre thème avec la dernière jquery à chaque fois que WP est mis à jour, votre site peut se casser.
Le code suivant s'assurera que votre thème charge toujours la bonne version de jquery, en recherchant d'abord la version utilisée par WP, puis en chargeant celle-ci à partir de Google:
la source