WordPress · Cart bridge
El cart bridge mantiene al widget en sintonía con el carrito de WooCommerce. Cuando un cliente añade, quita o vacía el carrito, el plugin emite un CustomEvent('neuroon:cart-update') en window. El widget escucha ese evento y refresca sus respuestas (cross-sell, validaciones, prompts).
No tienes que hacer nada para activar el bridge: el plugin lo wirea automáticamente cuando carga el widget en la página. Cobertura medida internamente: ~95 % de las mutaciones del carrito en una WC estándar.
Nombre del evento
El plugin escucha los cambios del carrito de WooCommerce (añadir, quitar, vaciar) y, cuando detecta una mutación, dispara CustomEvent('neuroon:cart-update') en window. Es el mismo nombre de evento documentado en la recipe recipes/custom-cart-bridge, así que cualquier listener que escribas funciona igual con el plugin que con tu propia integración.
Payload
El plugin emite el evento sin payload (detail ausente). El widget pide al servidor el estado actualizado del carrito a través de la API de WooCommerce vía AJAX (fragments) o consulta directamente el endpoint público de WC. Esto evita exponer datos sensibles desde scripts inline.
Si tienes un caso especial (carrito en JSON propio, headless WC, etc.), puedes emitir tu propio evento con detail:
window.dispatchEvent(new CustomEvent('neuroon:cart-update', {
detail: {
items: [
{ productId: 'PRD-001', name: 'Smart Speaker', price: 79.99, quantity: 2 }
],
total: 159.98,
currency: 'EUR'
}
}));
El widget acepta ambos modos.
Validar que el bridge funciona
- Abre la consola del navegador en una página con producto.
- Suscríbete:
window.addEventListener('neuroon:cart-update', e => console.log('cart-update', e));
- Pulsa Add to cart. Deberías ver el log casi al instante.
Si no ves el evento:
- Comprueba que jQuery está cargado (
typeof jQuery !== 'undefined'en consola). - Verifica que el widget está activo en la página (debe haberse impreso su bloque de configuración).
- Mira la pestaña Diagnostics del plugin para ver si el bridge está marcado como attached.
Cuándo NO usar este bridge
- Headless WooCommerce / Storefront propio: tu propio frontend ya conoce el estado del carrito; emite tu propio
CustomEventdirectamente. Verrecipes/custom-cart-bridge. - Carritos completamente AJAX externos (ej. mini-cart hecho en React montado fuera de WC): igual que arriba, dispatcha tú.
Próximos pasos
- Recipe · Custom cart bridge — payload schema y ejemplos.
- Widget · Cart integration — cómo lo consume el widget.