jQuery Uncaught TypeError: La propiedad ‘$’ del objeto no es una función

Todo, descargué una aplicación de formulario JS / CSS empaquetada y estoy tratando de usarla en WordPress. Tengo el siguiente código:

$(document).ready(function () { /*----------------------------------------------------------------------*/ /* Parse the data from an data-attribute of DOM Elements /*----------------------------------------------------------------------*/ $.parseData = function (data, returnArray) { if (/^\[(.*)\]$/.test(data)) { //array data = data.substr(1, data.length - 2).split(','); } if (returnArray && !$.isArray(data) && data != null) { data = Array(data); } return data; }; /*----------------------------------------------------------------------*/ /* Image Preloader /* http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript /*----------------------------------------------------------------------*/ // Arguments are image paths relative to the current page. $.preload = function() { var cache = [], args_len = arguments.length; for (var i = args_len; i--;) { var cacheImage = document.createElement('img'); cacheImage.src = arguments[i]; cache.push(cacheImage); } }; /*----------------------------------------------------------------------*/ /* fadeInSlide by revaxarts.com /* Fades out a box and slide it up before it will get removed /*----------------------------------------------------------------------*/ $.fn.fadeInSlide = function (speed, callback) { if ($.isFunction(speed)) callback = speed; if (!speed) speed = 200; if (!callback) callback = function () {}; this.each(function () { var $this = $(this); $this.fadeTo(speed / 2, 1).slideDown(speed / 2, function () { callback(); }); }); return this; }; /*----------------------------------------------------------------------*/ /* fadeOutSlide by revaxarts.com /* Fades out a box and slide it up before it will get removed /*----------------------------------------------------------------------*/ $.fn.fadeOutSlide = function (speed, callback) { if ($.isFunction(speed)) callback = speed; if (!speed) speed = 200; if (!callback) callback = function () {}; this.each(function () { var $this = $(this); $this.fadeTo(speed / 2, 0).slideUp(speed / 2, function () { $this.remove(); callback(); }); }); return this; }; /*----------------------------------------------------------------------*/ /* textFadeOut by revaxarts.com /* Fades out a box and slide it up before it will get removed /*----------------------------------------------------------------------*/ $.fn.textFadeOut = function (text, delay, callback) { if (!text) return false; if ($.isFunction(delay)) callback = delay; if (!delay) delay = 2000; if (!callback) callback = function () {}; this.each(function () { var $this = $(this); $this.stop().text(text).show().delay(delay).fadeOut(1000,function(){ $this.text('').show(); callback(); }) }); return this; }; /*----------------------------------------------------------------------*/ /* leadingZero by revaxarts.com /* adds a leding zero if necessary /*----------------------------------------------------------------------*/ $.leadingZero = function (value) { value = parseInt(value, 10); if(!isNaN(value)) { (value < 10) ? value = '0' + value : value; } return value; }; }); 

Asumí que WordPress no estaba causando ningún conflicto, así que actualicé el último paréntesis para que se vea como el siguiente:

 }, "jQuery"); 

Sin embargo, sigo recibiendo el mismo error. ¿Alguien sabe lo que estaría causando este problema y cómo resolverlo?

¡Gracias por adelantado!

Este es un problema de syntax, la biblioteca jQuery incluida con WordPress se carga en modo “sin conflicto”. Esto es para evitar problemas de compatibilidad con otras bibliotecas de JavaScript que WordPress puede cargar. En el modo “no-confict”, el atajo $ no está disponible y se usa jQuery más largo, es decir,

 jQuery(document).ready(function ($) { 

Al incluir $ entre paréntesis después de la llamada a la función, puede usar este atajo dentro del bloque de código.

Para más detalles, consulte el Codex de WordPress

Mi construcción favorita sin conflicto:

 jQuery(function($) { // ... }); 

Llamar a jQuery con un puntero a la función es un atajo para $ (documento). Listo (…)

O como decimos en coffeescript:

 jQuery ($) -> # code here 

En WordPress simplemente reemplace

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

con

 jQuery(function(){...}); 

Puede considerar reemplazar la secuencia de comandos predeterminada jQuery de WordPress con la Biblioteca de Google agregando algo como lo siguiente en el archivo theme functions.php:

 function modify_jquery() { if (!is_admin()) { wp_deregister_script('jquery'); wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', false, '1.10.2'); wp_enqueue_script('jquery'); } } add_action('init', 'modify_jquery'); 

Código tomado de aquí: http://www.wpbeginner.com/wp-themes/replace-default-wordpress-jquery-script-with-google-library/

tal vez tengas un código como este antes del jquery:

 var $jq=jQuery.noConflict(); $jq('ul.menu').lavaLamp({ fx: "backout", speed: 700 }); 

y ellos fueron Conflicto

puedes cambiar $ a (jQuery)