2010-03-25 10 views
5

Trato de nosotros wp_enqueue_script cargar mi Javascript, aquí está mi código:WordPress Problema con wp_enqueue_script

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

No está funcionando, cuando miro en la fuente, resulta ser:

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

? Ver = 2.9.2 se agrega al final automáticamente, supongo que este es el motivo, ¿cómo puedo solucionarlo?

+0

@Zack añadiendo al final 'ver = 2.9.2'?? – ant

+0

? Ver = 2.9.2 se agrega automáticamente al final – Zack

+0

@ c0mrade, traté de agregar? Ver = 2.9.2, al enlace, hacerlo: /wp-content/themes/less/js/slider. js? ver = 2.9.2 funciona, como resultado se convierte en: así que esta es la forma correcta, ¿verdad? – Zack

Respuesta

5

Para eliminar el parámetro de versión necesita un filtro adicional. Esta es la forma en que utilizo jQuery de Google sin una cadena de consulta:

<?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]; 
} 
?> 

Usted puede incluso utilizar el último filtro para añadir su propia consulta vars.

Por lo general, la cadena de consulta no debe afectar a su secuencia de comandos. Lo elimino solo para aumentar la probabilidad de que el usuario pueda usar una versión en caché de este archivo.

+0

toscho, ¿cómo puedo adaptar su script a una función add_action que toma una función personalizada "jquery include"? la función personalizada simplemente hace lo que hiciste en las primeras dos líneas y sin wp_enqueue_script al final. – ilia

+0

@ilia, lo siento, realmente no entiendo tu pregunta. Tal vez deberías abrir una [nueva pregunta] (http://stackoverflow.com/questions/ask) y mostrar el código en el que estás trabajando. – fuxia

+0

Sí, tenía la sensación de que no sería muy claro, pero esperaba evitar crear una nueva pregunta porque, de hecho, es una situación muy similar y lo suficientemente diferente como para seguir teniendo problemas con ella. De todos modos, he creado una pregunta aquí http://stackoverflow.com/questions/5256025/how-can-i-remove-version-query-var-from-jquery-include-function-in-wordpress – ilia

9

La documentación de Wordpress está poco documentada en este sentido.

Cambie de false a null en el segundo último parámetro para eliminar ?ver=2.9.2.

2

Puede usar null como el cuarto parámetro si está usando Wordpress 3.0. Esto eliminará la versión de manera efectiva.

1

cambiar el código para:

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