2

Solucionar el conflicto entre jQuery y WordPress

jquery_wordpress

Os traigo una solución que seguramente más de uno se habrá roto la cabeza y llegar a pensar en mil y una soluciones con nulo resultado.

Si hacéis como yo, quizás tengáis algún archivo reservado para vuestros scripts, esos scripts simples que no requieren de mil archivos para realizar su cometido, pero resulta que enlazáis vuestro script.js y resulta que no realiza la función que requiere, decidís abrir el Firebug, herramientas de desarrollo o sucedáneos de cualquier navegador y os dirigís a la consola y os encontráis este error:

 


$ is not a function

$(document.ready(function(){});

 

¿Cómo puede ser que ‘$’ no sea una función? Bien, la cuestión es que Wordrpres como casi todo CMS requiere el uso de distintos frameworks, jQuery al ser también un framework puede entrar en conflicto con estos frameworks, la solución simplemente radica en cargar en una variable el resultado de la funcion jQuery.noConflict(); algo como lo siguiente:

 

 var $ = jQuery.noConflict();

$(document).ready(function() { });

 

Y adiós problemas, otra solución podría ser renombrar todos los ‘$’ por ‘jQuery’ reemplazando desde nuestro editor de texto todas las ocurrencias.

 

Espero que os haya sido de utilidad.

 

Tone

Ingeniero del Software y procrastinador sin remedio, interesado en todo lo que tenga que ver con el mundo del desarrollo web y la inteligencia artificial, no sé si seré el responsable de la creación de Skynet algún día pero se intenta.

2 Comentarios
  1. Sergio

    ME he roto la cabeza con el conflicto entre Jquery y WordPress,, me cambia los estilos de mi tema.

    Una pregunta,, donde inserto el

    var $ = jQuery.noConflict();

    $(document).ready(function() { });

    En el head justo arriba de los href de las librerias???
    Saludos

    Responder
    • Tone

      Puedes insertarlo al comienzo de cualquier script donde hagas uso de jQuery o dentro de las etiquetas antes de cualquier función o declaración.

      Responder
ESCRIBIR UN COMENTARIO
  • (will not be published)

XHTML: Puedes usar estas etiquetas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>