2010-09-01 4 views
0

Existe-t-il un moyen d'empêcher Wordpress d'insérer automatiquement des scripts dans mon thème à partir de wp-includes/js? C'est un peu ennuyeux que je peux utiliser/choisir d'ajouter le mien.Arrêtez Wordpress d'insérer automatiquement des scripts

Merci!


En fait, ce n'est pas compris la jquery mais scriptaculous.js et effects.js et pour une raison quelconque, ils sont interférer avec jquery. Serait-ce la même chose en mettant juste:

add_action('wp_print_scripts', 'my_deregister_javascript', 100); 

function my_deregister_javascript() { 
    wp_deregister_script('scriptaculous'); 
    wp_deregister_script('effects'); 
} 

Merci!

Répondre

3

La plupart des scripts (c'est-à-dire jQuery) sont mis en file d'attente par des plug-ins qui en dépendent. Puisque jQuery est livré avec WordPress, il est très facile de distribuer un plug-in allégé et léger et d'appeler le script de wp-includes/js en utilisant wp_enqueue_script('jquery'). En fait, c'est la manière recommandée d'inclure des scripts sur votre site (pas sûr de la façon dont vous utilisez/choisissez le vôtre, mais c'est un point secondaire). Pour supprimer les scripts par défaut, vous pouvez utiliser un appel similaire à wp_deregister_script('jquery');. Cela supprimera le script nommé "jquery" de la file d'attente et ne sera pas inclus. Voici le code complet que vous souhaitez placer dans votre fichier functions.php:

add_action('wp_print_scripts', 'my_deregister_javascript', 100); 

function my_deregister_javascript() { 
    wp_deregister_script('jquery'); 
} 

Gardez à l'esprit, cependant, que certains plug-ins peuvent encore dépendre de ce script. Lorsque vous enregistrez un script, vous ajoutez généralement toutes les dépendances directement dans l'enregistrement ... donc si un script dépend de jQuery et que vous l'avez supprimé comme ça ... alors vous finirez par casser le plug-in car d'autres scripts ne sera pas inclus sur la page (même si vous avez ajouté jQuery manuellement via une balise <script></script> sur le site.)

Pour éviter cela, vous devez utiliser le moteur d'inscription/mise en file d'attente de WordPress pour ajouter votre propre version de jQuery:

add_action('wp_print_scripts', 'my_deregister_javascript', 100); 

function my_deregister_javascript() { 
    wp_deregister_script('jquery'); 
    wp_enqueue_script('jquery', PATH_TO_YOUR_JQUERY_VERSION, '', '1.4.2'); 
} 

Cela rajoutez jQuery (je suppose que vous utilisez la version 1.4.2, mais remplacer le numéro de version là avec tout ce que vous utilisez) et la file d'attente en arrière dans le système. Ensuite, toutes les dépendances devraient être satisfaites et tout devrait fonctionner comme prévu.

+0

Cool. Ouais j'ai juste aimé pouvoir aller avec jquery hébergé par google et d'autres choses. Mais je comprends parfaitement l'utilisation des scripts inclus comme recommandation. Merci beaucoup. – Marc

Questions connexes