Obtenir la dernière version de jQuery via Google pour WordPress

WordPress nécessite l’utilisation de la bibliothèque jQuery pour fonctionner. Or, cette dernière n’est pas régulièrement mise à jour.

A propos de jQuery

Qu’est-ce que la bibliothèque jQuery ?

Comme l’indique Wikipedia :

jQuery est une bibliothèque JavaScript libre qui porte sur l’interaction entre JavaScript (comprenant AJAX) et HTML, et a pour but de simplifier des commandes communes de JavaScript. La première version date de janvier 2006.

En résumé, c’est carrément indispensable !

Pourquoi mettre à jour jQuery ?

Disposer d’une version récente vous permet de bénéficier des dernières améliorations en matière de performance, de fonctionnalités et de sécurité.

Inclure Google jQuery à la place de WordPress

N.B : comme le fait très justement remarqué Amaury dans son commentaire, les mises à jour de jQuery ne sont pas forcément rétrocompatibles ce qui peut engendrer l’apparition d’erreurs. De fait, privilégiez le numéro de version de WordPress et continuez à bénéficier du CDN de Google.

Au lieu de charger le script jQuery présent dans les répertoires d’installation de WordPress – une version dépassée donc, préférons une version plus récente que nous propose notre ami Google.

Pour ce faire, ouvrez le fichier functions.php à l’aide d’un client FTP. Ce fichier est présent dans le dossier /wp-content/themes/NOM_DU_THEME/ mais vous pouvez y accéder par le menu Apparence puis Éditeur de votre administration WordPress.

Ajoutez ensuite les lignes de code suivantes :

function google_jquery() {
if (!is_admin()) {
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js', false, '1.5.2');
wp_enqueue_script('jquery');
}
}
add_action('init', 'google_jquery');

N.B : à l’heure où j’écris ces lignes, la version 1.5.2 est la plus récente comme l’indique Google. Il suffit donc d’indiquer le bon chemin du fichier JS. Pensez à faire évoluer cette ligne au fil du temps de manière à garder une version d’avance sur celle fournie avec WordPress.

N’oubliez pas d’enregistrer votre fichier puis ouvrez la page d’accueil de votre site. Afficher le code source à l’aide de votre navigateur favori et remarquez la présence de la dernière version de jQuery en haut du code. Le numéro de version doit correspondre.

Avec WordPress 3.1 et la version native de jQuery, vous obtenez une ligne comme ceci :

<script type='text/javascript'
src='https://wpchannel.com/wp-includes/js/jquery/jquery.js?ver=1.4.4'></script>

Avec WordPress 3.1 et Google jQuery, vous obtenez :

<script type='text/javascript'
src='http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js?ver=1.5.2'></script>

Cette manipulation rapide vous permettra de bénéficier de la dernière version de jQuery. Sachez que la version de WordPress est automatiquement désactivé par la fonction proposée : aucun conflit donc !

22 commentaires

  1. Gandalf81

    Je pense avoir une solution encore mieux qui est celle-ci :
    <script type= »text/javascript » src= »http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js »></script>
    Ce lien télécharge la dernière version de la branche 1.

    1. Mirliflore

      Bonjour Gandalf81,

      Si ta solution est meilleure que celle d’Aurélien, alors il me plairait de savoir où placer ton script parmi les fichiers de mon thème. Et chaque  » » » (espace volontaire) doit être remplacé par un ‘ simple, c’est bien ça ?

      Merci par avance.

      1. Gandalf81

        Le code que j’ai donné est générique, on le place entre les balises Head du HTML pour télécharger le Jquery.
        Or WordPress chargera quand même la version pré-installée de Jquery, ici la 1.4.4 donc on aura deux Jquery.

  2. Mealin

    Bonne idée ! Sans compter que jquery s’améliore niveau performance avec les versions donc c’est plus qu’une simple question de versions à jour, mais aussi d’avoir un blog plus réactif !

    1. Gandalf81

      En effet, JQuery est un framework plutôt puissant qui amené des effets sympa sans alourdir inutilement.
      Je développe avec un thème wordpress ainsi qu’un slider et je le trouve très intéressent.

  3. Steve

    Un exemple plus complet :


    /SUPPRIME LE SCRIPT JQUERY EXISTANT
    wp_deregister_script('jquery');
    //CHARGE LA DERNIERE VERSION DU JQUERY
    wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', false);
    //EMPLILE LE SCRIPT
    wp_enqueue_script('jquery');

    //SUPPRIME LES SCRIPT JQUERY UI EXISTANT
    wp_deregister_script('jquery-ui-core');
    wp_deregister_script('jquery-ui-tabs');
    wp_deregister_script('jquery-ui-sortable');
    wp_deregister_script('jquery-ui-draggable');
    wp_deregister_script('jquery-ui-droppable');
    wp_deregister_script('jquery-ui-selectable');
    wp_deregister_script('jquery-ui-resizable');
    wp_deregister_script('jquery-ui-dialog');
    //CHARGE LA DERNIERE VESION DU JQUERY UI
    wp_register_script('jquery_ui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1/jquery-ui.min.js', false,false, false);
    //EMPLILE LE SCRIPT
    wp_enqueue_script('jquery_ui');

  4. Olivier C

    Attention quand même : j’ai constaté des bugs entre la version 1.4.4 et la dernière version jquery, à moins qu’il s’agisse du script utilisé qui doit alors subir une réactualisation pour s’adapter à la dernière version de la bibliothèque.

    Quoi qu’il en soit je resterais prudent sur les mise à jour automatique de la bibliothèque…

  5. Gandalf81

    Voila le meilleur exemple pour jquery seul:

    function google_jquery() {
    if (!is_admin()) {
    wp_deregister_script(‘jquery’);
    wp_register_script(‘jquery’, ‘http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js’, false);
    wp_enqueue_script(‘jquery’);
    }
    }
    add_action(‘init’, ‘google_jquery’);

  6. Mikaweb

    Attention quand même lorsque vous prenez automatiquement la dernière version disponible sur le repo. de Google car il se peut que vos plugins qui ont du javascript plantent suite à un comportement nouveau amené avec la MAJ.

    Autant mettre à jour de temps en temps la version (prend 5 secondes) manuellement que de prendre le risque de voir son blog partir en vrille car un plugin/thème ne fonctionne plus correctement.

    Mika’

  7. Centraltv

    Bonjour petite question pour alléger mon site vous pouvez me conseiller
    si je supprime se fichier
    gamepress/js/modernizr-custom.min.js?ver=3.8.1
    car mon site ram un peux le soir ?

  8. akismetuser69564529

    Bonjour, après avoir regardé dans le codex, j’ai opté pour le code suivant (attention à choisir votre version de jQuery en fonction de votre projet !) :

    // Désactive le chargement de jQuery par défaut
    if( !is_admin()){
    wp_deregister_script(‘jquery’);
    wp_enqueue_script(‘jquery’, ‘//code.jquery.com/jquery-1.11.1.min.js’,  », ‘1.11.1’, true);
    }

    Celui-ci semble plutôt bien fonctionner, et a le mérite d’être plus concis il me semble (le add_action m’a paru superflu ici, non ?). Qui plus est, avec wp_enqueue_script, on peut facilement redéfinir quelle version de jQuery on veut, et le placer dans le footer aussi (dernier paramètre)…
    Qu’en pensez-vous ?

      1. soykje

        Re bonjour,

        Je ne suis pas sûr d’avoir bien saisi ta réponse… Car justement, je n’ai pas appelé mon wp_enqueue_script dans une fonction, mais directement (c’est une erreur ?)… Enfin il me semble que l’appel « //code.jquery.com/jquery-1.11.1.min.js » ne renvoie pas à un hébergement chez Google, mais bien directement sur un CDN jQuery ?

        A tout hasard, après relectures, j’ai néanmoins modifié mon code en l’incluant dans une fonction, ce doit être correct il me semble non ? Car dans tous les cas, j’ai bien jQuery chargé dans mon footer, lorsque j’inspecte ma page…

        // Désactive le chargement de jQuery par défaut
        function custom_jquery_call() {
        if( !is_admin()){
        wp_deregister_script(‘jquery’);
        wp_enqueue_script(‘jquery’, ‘//code.jquery.com/jquery-1.11.1.min.js’,  », ‘1.11.1’, true);
        }
        }
        add_action(‘init’, ‘custom_jquery_call’);

  9. Vieilubu

    Bonjour
    Dommage pour un néophyte comme moi, qui ne suis certes pas un perdreau de l’année, ceci expliquant peut-être cela, que les mises à jour de JQuery ne soient pas proposées systématiquement par mon système (Mac OSX 10.6.8) comme c’est apparemment fait par ailleurs.
    En ce qui me concerne je rencontre le problème d’affichage depuis peu, essentiellement sur le site de SFR d’une part, sur Google Maps de l’autre. C’est désagréable mais reste jouable, parfois en rusant…
    Cordialement.
    Vieilubu

Laisser un commentaire

Thèmes & Plugins
Premium By WP Channel

WP Alacarte propose des produits et services de qualité
made in France pour la plateforme WordPress.

Tout est prêt pour créer votre site à la carte !

  • Thèmes et extensions premium
  • Facilité d’utilisation garantie
  • Temps de chargement optimisé
  • Personnalisation avancée
Découvrir

Rejoignez la communauté WordPress !

Faites partie de l’aventure en devenant membre d’une association WordPress. Conférences, ateliers, BarCamp, WordCamp… Venez
partager votre passion pour WordPress !

Aurélien DENIS,
président des associations WordPress Francophone et WPMX