2010-03-25 4 views
5

Je nous essaie de wp_enqueue_script de charger mon javascript, voici mon code:WordPress problème avec wp_enqueue_script

<?php wp_enqueue_script('slider','/wp-content/themes/less/js/slider.js',array('jquery'),'1.0'); ?> 

Il ne fonctionne pas, quand je regarde dans la source, il se révèle être:

<script type='text/javascript' src='http://localhost/wp/wp-content/themes/less/js/slider.js?ver=2.9.2'></script> 

? Ver = 2.9.2 est ajouté à la fin automatiquement, je suppose que c'est la raison, comment puis-je le réparer.

+0

@Zack en ajoutant à la fin 'ver = 2.9.2'? – ant

+0

? Ver = 2.9.2 est automatiquement ajouté à la fin – Zack

+0

@ c0mrade, j'ai essayé d'ajouter? Ver = 2.9.2, au lien, faites-le: /wp-content/themes/less/js/slider. js? ver = 2.9.2 cela fonctionne, comme résultat il devient: donc c'est la bonne façon, non? – Zack

Répondre

5

Pour supprimer le paramètre de version, vous avez besoin d'un filtre supplémentaire. Voici comment j'utilise jQuery de Google sans une chaîne de requête:

<?php 
// Use the latest jQuery version from Google 
wp_deregister_script('jquery'); 
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js', false, false); 
wp_enqueue_script('jquery'); 

add_filter('script_loader_src', 'toscho_script_loader_filter'); 

function toscho_script_loader_filter($src) 
{ 
    if (FALSE === strpos($src, 'http://ajax.googleapis.com/')) 
    { 
     return $src; 
    } 
    $new_src = explode('?', $src); 

    return $new_src[0]; 
} 
?> 

Vous pouvez même utiliser le dernier filtre pour ajouter votre propre requête vars.

Habituellement, la chaîne de requête ne devrait pas affecter votre script. Je l'enlève juste pour augmenter la probabilité que l'utilisateur puisse utiliser une version mise en cache de ce fichier.

+0

toscho, comment puis-je adapter votre script à une fonction add_action qui prend une fonction "jquery include" personnalisée? la fonction personnalisée fait juste ce que vous avez fait dans les deux premières lignes et sans le script wp_enqueue_script à la fin. – ilia

+0

@ilia, désolé, je ne comprends vraiment pas votre question. Vous devriez peut-être ouvrir une [nouvelle question] (http://stackoverflow.com/questions/ask) et montrer le code sur lequel vous travaillez. – fuxia

+0

ouais j'avais le sentiment que ce ne serait pas très clair mais j'espérais éviter de créer une nouvelle question parce que c'est en fait une situation très similaire et pourtant assez différente pour que je continue à avoir des problèmes avec ça. Quoi qu'il en soit, j'ai créé une question ici http://stackoverflow.com/questions/5256025/how-can-i-remove-version-query-var-from-jquery-include-function-in-wordpress – ilia

9

La documentation de Wordpress est peu documentée à cet égard.

Remplacez false par null dans le deuxième dernier paramètre pour supprimer ?ver=2.9.2.

2

Vous pouvez utiliser null comme quatrième paramètre si vous utilisez Wordpress 3.0. Cela supprimera la version.

1

Modifier votre code:

<?php wp_enqueue_script('slider','/wp-content/themes/less/js/slider.js',array('jquery'),null); ?>