Si usas el famoso Visual Composer para tu WordPress, quizás te haya dejado de funcionar luego de la actualización a la versión 4.5
Aquí te enseño como solucionarlo.
Visual composer no funciona con wordpress 4.5
Este gran problema que sufren miles de sitios web, viene derivado de la actualización 4.5 de WordPress.
Si no has actualizado el plugin (ya sea porque no quieres o no puedes), habrás notado que, o bien el editor de entradas y paginas ya no funciona, o si funciona pero no permite agregar elementos.
SI EL EDITOR APARECE EN BLANCO
Si el editor te aparece en blanco, el problema es que requiere al menos de 64mb de memoria limite de PHP.
Esto lo puedes ver en el cPanel de tu hosting, precisamente en la variable «memory_limit» dentro de la configuración de PHP.
Si quieres intentar incrementar la memoria, puede probar esto.
Si no tienes muchos conocimientos, habla directamente con tu proveedor de hosting y pídele que te suban el limite al menos a 64 mb.
SI EL EDITOR FUNCIONA PERO NO AGREGA ELEMENTOS
Si este es tu caso y te fijas en la consola de Javascript en el inspector de codigo del Chrome (boton derecho en la pagina > Inspeccionar), veras que el error es:
Uncaught TypeError: $template.get is not a function
Este es un error javascript, puntualmente del archivo ubicado en:
wp-content/plugins/js_composer/assets/js/dist/backend.min.js
SOLUCIÓN:
Para solucionar este problema, debes editar el archivo backend.min.js (sino lo encuentras edita composer-view.js), buscando las siguientes lineas:
html2element:function (html) { var attributes = {}, $template; if (_.isString(html)) { this.template = _.template(html); $template = $(this.template(this.model.toJSON()).trim()); } else { this.template = html; $template = html; } _.each($template.get(0).attributes, function (attr) { attributes[attr.name] = attr.value; }); this.$el.attr(attributes).html($template.html()); this.setContent(); this.renderContent(); },
Y modificarlas por estas:
html2element:function (html) { var attributes = {}, $template; if (_.isString(html)) { this.template = _.template(html); } else { try { this.template = _.template(html()); } catch (err) { this.template = html; } } $template = $(this.template(this.model.toJSON()).trim()); _.each($template.get(0).attributes, function (attr) { attributes[attr.name] = attr.value; }); this.$el.attr(attributes).html($template.html()); this.setContent(); this.renderContent(); },
Te recuerdo que uses un editor de texto plano como Notepad, TextEdit, SublimeText o similares.
Si se te complica editar el archivo backend.min.js porque el código está comprimido, puedes descomprimirlo primero en el siguiente sitio www.unminify.com
Luego tomas el código descomprimido que te devuelve ese sitio, lo reemplazas en el archivo JS, y luego modificas la parte mencionada anteriormente. Guardas y lo subes (sin comprimir, no hay problema)
De esta forma volverá a funcionar el editor del Visual Composer de Bakery.
A mi me funcionó!
Espero tus comentarios aquí debajo 🙂
Hola, Cristian.
Mi problema es que se me queda bloqueado el editor y me aparece un mensaje encima (imposible de cerrar) que me obliga a actualizar. ¿Sabes si estos trucos geniales que das corrigen también mi problema?
Gracias por compartir tus conocimientos!!
Hola Estefania.
Si nos envias el error que da pemos buscarle una soluciona.
Saludos!
Hola, Cristian.
Parece que lo acabo de solucionar, pero el archivo que hay que modificar es el composer-view.js. Corrígelo si quieres en tu post. Lo he probado y por ahora funciona!! Wow, la actualización me desconfiguraba el diseño de casi todas mis webs!!
No me aparecía ningún número (o no sé porque no soy programadora), es un popup que dice que debo de actualizar a la nueva versión. Tiene un link a los que la comercializan y es transparente (se ve el editor detrás).
Gracias por la rápida respuesta, por tu interés y por darme las nociones de cómo solucionarlo.
Gracias a vos Estafania, me alegro que lo hayas resuelto!
como edito o modifico el archivo composer-view.js ??
Con cualquier editor de texto plano como Textedit (mac) o notepad(windows)
Estimado buenas como puedo eliminar las extenciones de .html.
Supongo que te refieras a que quieres URL friendly.
Debes trabajar con el archivo htaccess pero debes saber un poco de programación de servidores.
No encontraba solución para este problema por ningún lado, hasta que dí con este artículo. Gracias por el aporte a la comunidad.
Cristian felicitaciones me soluciono el error, ya estaba verde de tanto buscar para poder lograr que anduviera. Super agradecido. Abrazo desde Argentina
Por nada Mariano!
Hola, como estás, se ve que algo cambia pero no me lo resuelve, me aparece todo en código y no me deja la edición del visual composer, Yo reemplace esto bien
html2element:function (html) {
var attributes = {},
$template;
if (_.isString(html)) {
this.template = _.template(html);
} else {
try {
this.template = _.template(html());
} catch (err) {
this.template = html;
}
}
$template = $(this.template(this.model.toJSON()).trim());
_.each($template.get(0).attributes, function (attr) {
attributes[attr.name] = attr.value;
});
this.$el.attr(attributes).html($template.html());
this.setContent();
this.renderContent();
},
Ahora me da un error en la línea siguiente la cual tiene este código
return this.$el.attr(«data-model-id», this.model.get(«id»)), this.$el.data(«model», this.model), this
},
Ariel, los errores de Javascript son un tanto complejos de solucionar. Habria que ver en la consola del navegador que error te esta dando.
Buenas…. tanto renegar logre solucionar, desintale y subi la versión 5 que viene en la ultima versión del theme que utilizo con es el fortuna, ni el theme ni el plugins es pago por si les sirve de ayuda, la versión 5.0 me funciono.
Gracias Ariel.
Saludos,
Funciono, mil gracias!!!