Je pourrais avoir une erreur dans un document .js
dans un thème que j'ai acheté:
$('.tagcloud a').wrap('<span class="st_tag" />');
J'essaie de le résoudre mais je ne suis pas un programmeur, donc je ne sais pas comment… .. Le site est le suivant: http://www.framerental.com .
Vous utilisez jQuery.noConflict();
Donc $
n'est pas défini.
Vous pouvez en lire plus ici docs
Essayez de modifier votre code de cette manière (ajoutez le signe $
à la fonction Ready):
jQuery(document).ready(function($) {
// Code that uses jQuery's $ can follow here.
});
Les erreurs de fonction sont courantes dans presque tous les systèmes de gestion de contenu et vous pouvez y remédier de différentes manières.
Enveloppez votre code en utilisant:
<script>
jQuery(function($) {
YOUR CODE GOES HERE
});
</script>
Vous pouvez également utiliser l'API jQuery à l'aide de noConflict();
<script>
$.noConflict();
jQuery( document ).ready(function( $ ) {
// Code that uses jQuery's $ can follow here.
});
// Code that uses other library's $ can follow here.
</script>
Un autre exemple d'utilisation de noConflict sans utiliser le document prêt:
<script>
jQuery.noConflict();
(function( $ ) {
$(function() {
// YOUR CODE HERE
});
});
</script>
Vous pouvez même choisir de créer votre alias même pour éviter les conflits, comme ceci:
var jExample = jQuery.noConflict();
// Do something with jQuery
jExample( "div p" ).hide();
Une autre solution plus longue consiste à renommer toutes les références de $ en jQuery:
$( "div p" ).hide();
à jQuery( "div p" ).hide();
Au lieu de faire ceci:
$(document).ready(function() { });
Vous devriez faire ceci:
jQuery(document).ready(function($) {
// your code goes here
});
En effet, WordPress peut utiliser $ pour autre chose que jQuery, dans le futur ou maintenant, et vous devez donc charger jQuery de manière à ce que $ ne puisse être utilisé que dans un rappel de document prêt pour jQuery.
Ajoutez simplement ceci:
<script>
var $ = jQuery.noConflict();
</script>
à la balise head dans header.php. Ou si vous voulez utiliser le signe dollar dans la zone d'administration (ou quelque part, où header.php n'est pas utilisé), juste avant l'endroit où vous souhaitez l'utiliser.
(Il se peut que vous ne connaissiez pas certains conflits. Essayez-le et, le cas échéant, utilisez les autres solutions proposées ici ou sur le lien ci-dessous.)
Source: http://www.wpdevsolutions.com/use-the-dollar-sign-in-wordpress-instead-of-jquery/
J'ai ajouté un fichier de script personnalisé chargé à la fin de la section head
et inséré ce qui suit en haut:
(function (jQuery) {
window.$ = jQuery.noConflict();
})(jQuery);
(Ceci est une modification de la réponse de Fanky)
Autre que noConflict, ceci est également utile:
(function( $ ) {
// Variables and DOM Caching using $.
var body = $('body');
console.log(body);
})( jQuery );
Si vous avez inclus jQuery, il peut y avoir un conflit. Essayez d’utiliser jQuery
au lieu de $
.
J'ai pu résoudre très facilement mon problème de mise en file d'attente de jQuery wp_enqueue_script("jquery");