¡WooCommerce falla con más de 20 variaciones de un producto!

Como dice mi amigo Gonzalo, esto debería salir en el telediario. ¿Cómo es posible que un software de ecommerce serio falle cuando un producto tiene más de 20 variaciones? Pues pasa, en concreto en WooCommerce, el estándar para crear tiendas en WordPress.

El problema con las variaciones en WooCommerce

Resulta que en la versión 2.4 de WooCommerce, para optimizar la aplicación se decidió poner un límite, para que cuando un producto tenga más de 20 variaciones, estas carguen en AJAX en vez de en JavaScript.

¿Resultado? En la mayoría de las «tiendas normales» que usan variaciones en sus productos, y en la mayoría son más de 20 las variaciones de casi cualquier producto, el cliente no ve las variaciones o las ve oscurecidas, sin poder seleccionarlas. ¡Una catástrofe!

La(s) solución(es)

Mientras los ingenieros de WooCommerce no encuentren una solución para ofrecer un sistema sólido para tiendas medianas y grandes (¡ay madre, así nunca llegaremos a dominar el mundo del ecommerce!), afortunadamente puedes modificar esa restricción y adaptarla al tamaño de variaciones de tus productos.

Con un código

La manera más óptima y personalizable es añadir una función como la siguiente a tu plugin de personalizaciones de código, o al archivo functions.php del tema activo:

// Cambiar el umbral de variaciones de WooCommerce
function ayudawp_wc_ajax_variation_threshold( $qty, $product ) {
    return 100;
}
add_filter( 'woocommerce_ajax_variation_threshold', 'ayudawp_wc_ajax_variation_threshold', 10, 2 );

En el código tienes que cambiar el umbral en la línea return 100; por el número máximo de variaciones que utilices. Guardas los cambios y problema solucionado.

El código le dice a WooCommerce que permita 100 variaciones del producto antes de dejar de usar el JavaScript que permite que el navegador web active o desactive dinámicamente las listas desplegables.

Observa también que el filtro te pasa la referencia del producto. Esto es para una tienda que funcione con números estáticos, pero también podrías usar un umbral dinámico basado en la categoría, el nombre, la etiqueta, u otros datos.

Además, puedes incluso usar el objeto $product para aplicar el filtro solo aun producto específico, y así seguir aplicando la – real – optimización de carga para el resto de productos.

Sería algo así:

if( $product->get_id() !== 123 ) {
return $qty;
}
return 100;

Donde 123 es el ID del producto.

Con un plugin

El plugin WC Variations AJAX ofrece una interfaz sencilla en la que tú decides el umbral, guardas y ya está. Viene a hacer lo mismo que el código anterior pero de manera visual.

Ve a Ajustes > WC Variations AJAX y elige el umbral máximo de variaciones que necesites y lo tienes.

Resumiendo

Esperemos que WooCommerce siga avanzando y abandone estas malas decisiones, que no ayudan nada a que sea un estándar en comercio electrónico.

WordPress lidera el mundo de la creación y publicación web, y es importante que disponga de una plataforma de ecommerce sólida, capaz de competir con los grandes del mercado como Shopify, PrestaShop y Magento, y este tipo de fallos tontos no ayudan nada.

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(9 votos, promedio: 4.9)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

4 comentarios en “¡WooCommerce falla con más de 20 variaciones de un producto!”

  1. Mª Luisa Rodríguez

    Muchas gracias Fernando y Gonzalo por compartirlo y difundirlo, esperemos que lo solucionen rápido desde la misma plataforma de woocommerce, a fin de que nadie desista de utilizarlo.

  2. Que bueno! Esto es lo más parecido a salir en Telediario 😉 Esperemos que recojan el guante y lo solucionen en la próxima versión. Un abrazo craaaack!!!!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido