Eliminar? ver = de wp_register_script

8

Estoy recibiendo errores en la prueba de velocidad de Google con respecto a las cadenas de consulta en mis scripts. Entonces, estoy tratando de eliminarlos al pasar falso como el argumento para ese parámetro. Sin embargo, no parece tener efecto:

wp_register_script('myscript', get_bloginfo('template_directory').'/scripts.myversionnumber.js',false,false,true);
wp_enqueue_script('myscript');

PS: la parte "myversionnumber" del nombre de archivo js es mi forma de controlar el almacenamiento en caché / control de versiones en lugar del enfoque "ver=" que aparentemente activa algunos servidores proxy (según la prueba de velocidad de páginas de Google):

  

Eliminar cadenas de consulta de recursos estáticos Habilitando el almacenamiento en caché público en   Los encabezados HTTP para recursos estáticos permiten que el navegador descargue   Recursos de un servidor proxy cercano en lugar de un origen remoto.   servidor. Aprende más

     

Sugerencias para esta página

     

Recursos con un "?" en la URL no están almacenados en caché por algún proxy de almacenamiento en caché   servidores Elimine la cadena de consulta y codifique los parámetros en el   URL para los siguientes recursos:

    
pregunta Scott B 17.05.2012 - 18:10

3 respuestas

8

Creo que tienes que pasar NULL como el 4to parámetro.

wp_register_script(
    'myscript',
    get_bloginfo('template_directory').'/scripts.myversionnumber.js',
    false,
    NULL,
    true);
wp_enqueue_script('myscript');
    
respondido por el SickHippie 17.05.2012 - 18:29
3

Puede pasar null como el valor de la versión a wp_register_script o wp_enqueue_script y debería descartar la cadena de consulta.

<?php
wp_enqueue_script(
   'myscript',
   '/path/to/script.js',
   array(),
   null
);
    
respondido por el chrisguitarguy 17.05.2012 - 18:31
3

Prólogo

Resolví esto de manera muy diferente a SickHippie y chrisguitarguy y creo que no es la forma en que se debe resolver, pero está funcionando muy bien para mí.

El código ...

Pongo este fragmento de código al final del archivo functions.php de mi tema:

function remove_cssjs_querystring( $src ) {
  if( strpos( $src, '?rev=' ) ) // copy/paste this line and the next one to take away what you want from the end of your css/js
    $src = remove_query_arg( 'rev', $src );
  if( strpos( $src, 'ver=' ) )
    $src = remove_query_arg( 'ver', $src );
  return $src;
}
add_filter( 'style_loader_src', 'remove_cssjs_querystring', 10, 2 );
add_filter( 'script_loader_src', 'remove_cssjs_querystring', 10, 2 );

De dónde vino la idea ...

Lo estaba buscando en Google y encontré este artículo , pero seguí teniendo un problema con css / js: en este punto mi código todavía tenía (aquí y allá) al final algo como .../some-stylesheet.css?rev=... y pensé en extender el fragmento de código un poco para incluir cualquier cosa que pudiera Han estado después de .css .

    
respondido por el vcoppolecchia 19.09.2014 - 01:51

Lea otras preguntas en las etiquetas