web-dev-qa-db-fra.com

Comment arrêter de charger plusieurs copies de jquery

Mes wordpress header.php et function.php sont indiqués ci-dessous. Aidez-moi à modifier mon code php pour éviter les problèmes liés au chargement de jquery plusieurs fois. Mes plugins et thèmes chargent jquery plusieurs fois.

Mes dossiers
Header.php
Function.php


Tous les experts disent que je dois inclure le script de mise en file d'attente !!! J'ai lu différents documents qui s'y rapportent.

Je suis nouveau dans la programmation, je ne sais pas où ajouter ce script de mise en file d'attente, quel type de code dois-je ajouter?

2
Jithin

Vous devriez enlever ces lignes de votre header.php

<script language="javascript" type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascripts/jquery.js"></script>
<script language="javascript" type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascripts/tabber.js"></script>
<script language="javascript" type="text/javascript" src="<?php bloginfo('template_url'); ?>/javascripts/superfish.js"></script>

Et à la place, ajoutez la fonction suivante dans vos fonctions php ...
tout en haut.

wp_enqueue_script

function sg_theme_js(){

    wp_enqueue_script( 'jquery' );
    wp_enqueue_script( 'tabberjs', get_template_directory_uri().'/javascripts/tabber.js', array('jquery'), 1.0, true);
    wp_enqueue_script( 'superfishjs', get_template_directory_uri().'/javascripts/superfish.js', array('jquery'), 1.0, true);

}
add_action( 'wp_enqueue_scripts', 'sg_theme_js' );

Explication:
Comme de nombreux plugins utilisent jQuery (et d’autres fichiers js), ils ont besoin de savoir (et wordpress aussi) que vous avez déjà chargé jQuery ... c'est trop tard!

C'est pourquoi nous devrions mettre en file d'attente les scripts et ceux-ci permettent aux plugins de les suivre.

Maintenant ... un petit commentaire.
Si vous souhaitez gérer le sens du thème traité avec du code, vous devez apprendre ce genre de choses. - Prenez un moment pour en savoir plus sur wp_enqueue_script.

Voici des informations supplémentaires sur: wp_enqueue_script

3
Sagive SEO

La réponse simple est de ne jamais ajouter de balises de script directement aux fichiers de modèle. C'est exactement pourquoi le script WordPress registration et enqueue system existe.

1
Milo