$ is not defined - Wordpress/jQuery

14 12 2010

Si vous utilisez jQuery avec Wordpress, et que vous êtes sur cette page, c’est probablement que vous avez cette erreur :

$ is not defined

Et pourquoi ? Parce que vous utilisez le sélecteur raccourcis de jQuery : $() :

$(document).ready(function(){
	$('body').fadeOut();
});

En fait, la fonction $() n’est qu’un alias de la fonction jQuery(). Du coup si vous utilisez ce code, vous n’aurrez aucune erreur :

jQuery(document).ready(function(){
	jQuery('body').fadeOut();
});

Si le sélecteur $ ne marche pas, c’est parce que Wordpress active par défaut le mode No Conflict de jQuery. Dans ce mode, la fonction $ n’est pas crée par jQuery.

En effet, beaucoup d’autres bibliothèques javascript utilisent cette fonction comme sélecteur, alors pour éviter la baston entre jQuery et Mootools et autre Scripaculous/Dojo…

Mais heureusement, MrSchnaps connait le moyen de pouvoir utiliser $ dans Wordpress, il suffit de passer en paramétre le nom du raccourcis que vous voulez utiliser en guise de raccourcis :

jQuery(document).ready(function($){
	$('body').fadeOut();
});

Partager :

Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • Facebook
  • Digg -fr
  • Live
  • MisterWong Fr
  • Scoopeo
  • StumbleUpon
  • Technorati
  • Wikio FR

Actions

Informations

Et maintenant je fais quoi ?

Aucun commentaire

3 réponses à “$ is not defined - Wordpress/jQuery”

9 10 2011
Tanguy (19:53:20) :

Bonjour,
j’ai tenté de fouiller un peu le code de mon WP pour faire fonctionner correctement le plugin Annotate it, mais sans succès. L’astuce semble avoir été utilisée par le codeur du plugin, mais il ne se lance pas et la console de Firebug me renvoie l’erreur jQuery is not defined…
ex. http://paschal.cours.free.fr/?p=62
Merci d’avance ;)

22 10 2011
MrSchnaps (20:50:55) :

@Tanguy : sur ton site il n’y a pas l’erreur “$ is not defined”, l’erreur est “jQuery is not defined”, là c’est pas un problème de raccourcis, c’est carrément qu’il te manque jQuery, il n’est pas inclus.

Ça peut venir soit de ton thème si c’est toi qui l’a fait, dans ce cas tu as sans doute oublier d’appeler la fonction wp_head() dans le header.php de ton thème, soit un plugin qui désactive jQuery.

Bref, t’as qu’à ajouter la balise d’inclusion de jQuery dans la balise :

28 01 2013
fxtv (14:55:39) :

MERCI BEAUCOUP !!
J’ai passé bcp/trop de temps sur de $ récalcitrant.
François-Xavier

Laisser un commentaire

Vous pouvez utiliser ces balises html : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>