WordPress jQuery est introuvable lors de l’utilisation d’un thème spécifique
J’ai créé un shortcode via un plugin qui ajoute un tas de javascript et html à une page via le PHP pour le plugin.
Cela fonctionne très bien sur le thème vingt-quatre – et mon plugin fonctionne comme prévu.
Lorsque j’essaie d’installer mon plugin et d’utiliser mon shortcode dans un thème OptimizePress, cela ne fonctionne pas.
When I attempt it there is a console error stating :
Uncaught ReferenceError: jQuery is not defined
This is on this line:
jQuery(document).ready(function() { --this line
jQuery('#calendar').fullCalendar({
header: {
left: 'prev,next today',
This is part of the javascript I add to the page as part of the shortcode.
Interestingly when I look at the source for the page there is certainly jQuery loaded. However, for some reason when I use this shortcode in this theme it has positioned my javascript I echo out as part of the plugin into the as seen in my picture below (my code is inside the highlighted script tag)- whereas the jQuery doesnt load until the end of the page – which is probably why we hit this error with jQuery not being defined.
Lorsque le shortcode est utilisé dans le thème Twentyfourteen, ma sortie javascript dans le cadre du plugin est contenue en ligne dans le corps, comme on le voit sur cette image (la balise de script) de la page – ce qui signifie qu’elle peut trouver jQuery car elle aura été chargée :
Quelqu’un peut-il suggérer pourquoi cela se produit et comment je peux faire en sorte que mon javascript reste en ligne plutôt que dans le de mon document lors de l’utilisation de codes abrégés dans OptimizePress pour aider à résoudre cette erreur ou toute autre solution pour résoudre ce problème.
Solution n°1 trouvée
La réponse était d’utiliser add_script dans mon plugin php et d’ajouter le script au wp_footer ! Un grand merci à alex alex pour le soutien. J’ai dû utiliser des mots-clés globaux dans mon plugin php pour accéder aux variables définies en dehors de la portée de la fonction php nouvellement créée pour l’appel add_script.
0 commentaire