Wordpress: cómo evitar que se cargue varias veces una librería js

Este problema puede resultar más común de lo que se piensa y aparece cuando en el template que estamos creando o editando inlcuye la carga de alguna librería javascript. Por ejemplo, si deseas cargar JQuery, lo más seguro es que en tu template tendrás algo como esto:


<script src="<?php bloginfo('template_url'); ?>/js/jquery-1.4.2.min.js"></script>

El problema aparece cuando instalas algún plugin que también utilice esta librería, muchas veces intentará cargarla nuevamente a pesar de que ya esté incluída en tu template. Es posible que incluso te encuentres con versiones diferentes. ¿Cómo podemos evitar esto? La solución es bastante simple y puede evitarte varios dolores de cabeza.

Dentro de los archivos de tu template debes buscar el que se llama functions.php, si no existe puedes crearlo, basta que se encuentre en la carpeta del template que estás utilizando actualmente para que wordpress lo considere. Dentro de este archivo debes colocar lo siguiente:


<?php

function mi_inicio(){
  wp_enqueue_script( 'jquery' );
}

add_action( 'init' , 'mi_inicio' );

?>

Al usar esta instrucción logras 2 cosas:

  1. Wordpress generará aumaticamente la inclusión del script js en la sección <head> de tu template sin la necesidad de incluirlo manualmente (de hecho deberías eliminar cualquier línea que tenga tu template para hacer esto mismo, como la del primer ejemplo)
  2. Si un plugin pide cargar esta librería Wordpress “se dará cuenta” que ya ha sido incluída y no volverá a cargarla

Importante: para que esto funcione tu template debe incluir dentro de la sección <head>:

<?php wp_head();  ?>

En caso que deseemos especificar una ruta alternativa para la librería que estamos cargando (en el ejemplo JQuery), podemos hacer lo siguiente:


<?php

function mi_inicio(){
  wp_deregister_script( 'jquery' );
  wp_register_script(   'jquery' , 'http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js' );
  wp_enqueue_script( 'jquery' );
}

add_action( 'init' , 'mi_inicio' );

?>

Ahora se incluirá la librería desde la ubicación que especificamos con la función wp_register_script().

1 comentario

  1. Vale, de acuero, lo tengo, creo – pero ?Realmente funcionara?

Deja tu comentario

Comenta todo lo que quieras, también son bien aceptadas las críticas, pero ten en cuenta que eliminaré sin misericordia comentarios que sean ofensivos o discriminadores en cualquier forma. Si deseas que una imagen personalizada aparezca junto a tu comentario basta con que estés registrado en Gravatar.

Estás leyendo

Wordpress: cómo evitar que se cargue varias veces una librería js

Categoría

wordpress

Etiquetas

tips, wordpress