Comment corriger l'erreur "jQuery n'est pas défini" ?

Quelque chose casse votre site. Vous avez vérifié la console de votre navigateur pour les erreurs et trouvé l'erreur suivante :
jQuery n'est pas défini

Et maintenant je fais quoi ?!

Heureusement, c'est l'une des erreurs JavaScript les plus faciles à corriger :) 

L'erreur signifie que jQuery est requis par un autre script, mais qu'en raison de l'optimisation, il n'est pas disponible lors de l'exécution du script initial, ce qui déclenche une erreur.

Vérifiez d'abord que cette erreur est causée par WP Rocket.

Chargez votre page tout en contournant WP Rocket, en ajoutant ?nowprocket à l'URL (par exemple exemple.org?nowprocket), et vérifiez si l'erreur existe toujours.

Si c'est le cas, WP Rocket n'en est pas la cause et vous devriez vérifier les options JavaScript dans d'autres extensions d'optimisation, ou le code dans votre fichier functions.php sur votre site. 

L'erreur n'est pas là sur ?nowprocket

Si l'erreur n'apparaît que lorsque WP Rocket est actif sur la page, elle est liée à l'une de ces options dans l'onglet Optimisation des fichiers :

  • Reporter l’exécution JavaScript (si personnalisé)
  • Combiner les fichiers JavaScript
  • Charger le JavaScript en différé

Reporter l’exécution JavaScript

Pour exclure jQuery du report, ajoutez ce qui suit au champ Fichiers JavaScript exclus :

\/jquery(-migrate)?-?([0-9.]+)?(.min|.slim|.slim.min)?.js(\?(.*))?( |'|"|>)

Ce modèle permet de prendre en compte les variations du nom de fichier.

Si vous n'avez pas personnalisé le report d'exécution JavaScript de cette manière, passez aux étapes suivantes.

Combiner les fichiers JavaScript

Ajoutez ce qui suit dans le champ Fichiers JavaScript exclus :

/wp-includes/js/jquery/jquery.min.js

Si vous n'utilisez pas la version de jQuery chargée par WordPress, mais celle hébergée par un tiers, vous pouvez trouver le bon fichier à exclure en procédant comme suit :

  • Lancez votre site en contournant WP Rocket, en ajoutant ?nowprocket à votre URL.
  • Cliquez sur l'onglet Réseau dans les outils du Développpement de votre navigateur
  • Filtrez pour jquery.min.js, et si cela ne donne pas de résultat, essayez jquery.js
  • Copiez l'URL et collez-la dans le champ d'exclusion dans WP Rocket

Charger le JavaScript en différé

Pour exclure jQuery du report, ajoutez ce qui suit au champ Fichiers JavaScript exclus :

/jquery-?[0-9.]*(.min|.slim|.slim.min)?.js

(Ce schéma permet de repérer les variations du nom de fichier)

Après avoir appliqué ces exclusions, enregistrez les modifications et le problème devrait être résolu.

Reporter l’exécution du JavaScript

Pour exclure jQuery de Reporter l’exécution du JavaScript, ajoutez ce qui suit au champ Fichiers JavaScript exclus :

/jquery-?[0-9.](.*)(.min|.slim|.slim.min)?.js<br>/jquery-migrate(.min)?.js

Ce modèle prend en compte les variations du nom de fichier jQuery et exclut également le fichier jQuery Migrate, car il s'agit de fichiers interdépendants.

Cela a-t-il répondu à votre question ? Merci pour votre retour :) Une erreur est survenue lors de l’envoi de votre retour. Veuillez réessayer plus tard.