¿Cómo evitar que WordPress cargue versiones antiguas de jQuery en wp_head()?

23 ago 2013, 17:31:21
Vistas: 16.1K
Votos: 5

Noté que mi tema Twenty Twelve está incluyendo versiones obsoletas de jQuery y JS, así que quiero reemplazar estos scripts con versiones más nuevas. Sin embargo, los scripts están en el archivo incluido por wp_head() (que creo está en wp-includes), por lo que agregar los scripts a mi header significa que jQuery se cargará dos veces. No veo forma de eliminar los scripts de wp_head() sin modificar wp-includes y cualquier cambio que haga probablemente se perderá si actualizo WordPress.

¿Cómo puedo eliminar permanentemente los scripts de wp_head()?

0
Todas las respuestas a la pregunta 2
1
add_action('wp_enqueue_scripts', 'no_more_jquery');
function no_more_jquery(){
    wp_deregister_script('jquery');
}

Eso eliminará el registro de jQuery. ¿Pero por qué no querrías jQuery en absoluto?

Si lo que quieres es usar tu propia versión, deberías hacerlo en esa función, así:

add_action('wp_enqueue_scripts', 'no_more_jquery');
function no_more_jquery(){
    wp_deregister_script('jquery');
    wp_register_script('jquery', "http" . 
    ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . 
    "://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js", false, null);
    wp_enqueue_script('jquery');
}

Este ejemplo carga jQuery de Google, pero fácilmente podrías cargar una versión que tengas en la carpeta de tu tema. Puedes leer más sobre este proceso aquí: Referencia de funciones/wp enqueue script « WordPress Codex

PD: Eso iría en functions.php. Y no es una buena idea simplemente incluir llamadas a la biblioteca de jQuery en tu cabecera, ya que puede generar conflictos con plugins u otros elementos que esperen que jQuery esté presente.

23 ago 2013 17:43:39
Comentarios

gracias. Agregué jquery y jquery-ui a través de esta forma. No quiero cambiar nada fuera de mi tema hijo así que esta es una gran solución.

Lisandro Vaccaro Lisandro Vaccaro
23 ago 2013 18:19:21
0

La forma más sencilla de actualizar jQuery es utilizar el plugin jQuery Updater.

Si solo deseas eliminar la versión de WordPress, entonces agrega:

wp_deregister_script('jquery');

a tu archivo functions.php.

23 ago 2013 17:42:33