El botón es solo el principio: cuando un usuario pulsa “Añadir al carrito”, el navegador envía producto, cantidad y, cuando corresponde, atributos de variación. WooCommerce valida los datos, crea o recupera la sesión y devuelve fragmentos o una redirección. Hay que saber en qué paso falla.
Localiza el primer fallo
Abre Console y Network, pulsa el botón y comprueba si existe petición. Si no sale, investiga JavaScript. Si sale con error o aviso, revisa respuesta y validación. Si es correcta pero la interfaz no cambia, el problema puede estar en los fragments o en el mini-carrito.
Datos de la petición que importan
- ID de producto y variación.
- Atributos seleccionados y cantidad.
- Código HTTP y cuerpo de respuesta.
- Avisos de WooCommerce y errores PHP.
Causas que no son equivalentes
- Conflicto JavaScript: el clic o la actualización de fragments falla antes de completar la petición.
- Variación no válida: los atributos no corresponden a una combinación comprable.
- Sesión rota: el producto entra pero el carrito no persiste.
- Plantilla antigua: un override del tema envía markup o campos obsoletos.
Repara la capa que falla
- Corrige el primer error JavaScript o HTTP, no el estilo del botón.
- Actualiza overrides antiguos de WooCommerce.
- Excluye endpoints AJAX y fragments de optimizaciones incompatibles.
- Prueba productos simples, variables y sin stock.
¿JavaScript o validación de variación?
Si no hay petición, empieza por el navegador. Si WooCommerce responde con un error de producto o atributo, la validación es la pista principal. Si el artículo entra pero después desaparece, pasa a carrito que se vacía en checkout. Si el problema aparece al final del pago, revisa la página de confirmación del pedido.
No fuerces la entrada al carrito
No te saltes las validaciones de variación, stock o disponibilidad: protegen la integridad del pedido.
Cómo verificar la reparación
Los productos y variaciones correctos deben entrar una sola vez, los no disponibles deben seguir bloqueados y el recuento, totales y mini-carrito deben coincidir después de refrescar.