Hace no mucho, Alberto Hornero y yo, comenzamos un proyecto nuevo junto con otro amigo, Antonio Sánchez, llamado Red de Autores. La idea básica era crear una red de blogs gratuitos, sobre los que añadir un componente social. El proyecto es bastante joven, pero por ahora no podemos quejarnos de la aceptación.
El componente social lo pone BuddyPress, uno de los plugins más radicales que he conocido para WordPress, ya que introduce gran cantidad de características y básicamente permite hacer una pequeña red social en el sitio.
Adaptamos un tema, montamos todo y como normalmente ocurre con WordPress, todo perfecto sin tener que adentrarnos demasiado en el código, ni tener que dedicarle más tiempo del estrictamente necesario.
Sin embargo, cuando actualizamos a WordPress 3.2.1 comenzó a surgir un problema, había elementos que no se estiraban y aparte de los defectos estéticos, la consola de JavaScript se quedaba tan bloqueada, que acciones tan necesarias como comunes (por ejemplo subir una imagen) no podían efectuarse fácilmente.
Me puse a investigar y el error que me aparecía en la consola de JavaScript era algo así como: f.easing e.animatedproperties this.prop is not a function (con algunos corchetes y paréntesis de por medio). En Google no había suficiente documentación, o al menos, con la presente no era capaz de llegar a resolver el problema de manera inmediata.
Sólo pude llegar a deducir dos cosas y a raíz de ahí pude completar la solución:
Veamos cómo he procedido para solucionar el problema. Aunque existe un fichero para evitar esto mismo, de compatibilidad con versiones anteriores (que por cierto acabo de ver y que en su momento no conocía) lo que hice fue lo siguiente.
Modificar llamadas
Las llamadas a funciones antiguas las cambié por su equivalentes en la nueva versión del plugin jQuery:
Tenéis una lista completa de modificaciones de llamadas en el fichero de compatibilidad (por si preferís no usarlo y directamente tratar con las nuevas funciones).
Una vez modificado ésto, el problema seguía existiendo y es que en el fichero global.js de mi tema, estaba integrado el plugin antiguo (o algunas líneas de éste con las funciones que usaba) y había un problema de nombres de funciones y llamadas.
Eliminar rastros
Busque la línea y la suprimí, de hecho, para evitar más problemas, quité el fichero propio del plugin e integré su contenido en mi fichero global.js.
Todo esto que os comento se habría solucionado con el fichero de compatibilidad que acabo de encontrar, pero no deja de ser un ejemplo de cómo, una pobre planificación inicial en un desarrollo (el del complemento de jQuery) hace que luego surjan quebraderos de cabeza variados. Tened en cuenta que el error lo da una función que a priori no tiene nada que ver con eso y que por las características propias de JavaScript, es verdaderamente complicado ver código de jQuery o sus plugins en versión de producción, que no de desarrollo.
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
gracias amigo
http://www.openzona.com