Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Sintomas Carrito Checkout

Los campos están rellenados pero WooCommerce dice que faltan

Repara campos visibles que se reciben vacíos revisando name, duplicados, autocompletado, condiciones, bloques y datos POST.

WooCommerce valida nombres y valores enviados, no lo que parece ver el cliente. Un campo puede mostrar texto pero pertenecer a un input duplicado, estar deshabilitado, usar otro name o ser eliminado por JavaScript antes del envío.

No desactives todos los obligatorios. Identifica qué clave llega vacía y por qué el control visible no la aporta.

Captura el error exacto

Anota etiqueta, país, transporte, estado de cuenta, navegador y dispositivo. Reproduce una vez en ventana privada con datos sintéticos.

Inspecciona la respuesta del checkout. WooCommerce suele devolver errores estructurados aunque el scroll o el tema los oculte.

Confirma si menciona billing, shipping o un campo propio.

Compara el input visible y el enviado

Inspecciona name, id, valor, estado disabled y sección contenedora.

<!-- La clave enviada depende de name, no de la etiqueta -->
<input id="billing_phone"
       name="billing_phone"
       type="tel"
       value="600000000">

Un input deshabilitado o sin nombre no se envía. Dos elementos con el mismo ID pueden hacer que scripts y etiquetas actualicen el equivocado.

No guardes direcciones ni teléfonos reales en capturas.

Compara el formulario serializado inmediatamente antes del submit con el payload que aparece en Network. Un componente visual puede mantener su estado interno sin copiarlo al input, o varias casillas pueden enviar un array que el callback trata como texto. El diagnóstico debe confirmar tanto la presencia de la clave como su tipo.

Prueba el autocompletado

El navegador puede pintar un valor sin disparar change o blur, que un JavaScript propio espera. Es frecuente en móvil y gestores de contraseñas.

Escribe manualmente y compara. Si así funciona, adapta el código para leer el valor real al enviar y escuchar eventos adecuados.

No desactives el autocompletado globalmente: mejora conversión y accesibilidad.

Revisa país y dirección de envío

Cambiar país, provincia o “enviar a otra dirección” ejecuta update_checkout. Un plugin puede reemplazar el marcado, perder el valor o exigir un campo regional oculto.

Observa Elements durante la actualización. Justo antes de enviar, el input final debe conservar nombre y valor.

Prueba países con y sin provincia o código postal obligatorio.

Inspecciona hooks de personalización

Busca la clave problemática y flags required en tema, plugins y snippets.

add_filter( 'woocommerce_checkout_fields', function ( $fields ) {
    // La misma clave debe renderizarse, enviarse y validarse.
    return $fields;
} );

Es común renombrar el campo visible mientras la validación comprueba la clave antigua, o validar shipping cuando se usan datos de billing.

Mantén la validación también en servidor.

Distingue checkout clásico y Blocks

El shortcode clásico y Checkout Blocks usan API de extensión diferentes. Los filtros PHP diseñados para clásico pueden no controlar un campo de bloques.

Confirma qué implementación usa la página y elige una extensión compatible con la versión actual.

No mezcles una plantilla clásica copiada con supuestos de Blocks.

Repite la prueba en cada idioma publicado. Las traducciones pueden recrear la página con otro bloque, conservar una plantilla anterior o cambiar etiquetas usadas incorrectamente como identificadores. La lógica debe depender de claves estables, no del texto visible que recibe el cliente.

Comprueba caché y scripts antiguos

Tras cambiar campos, una página cacheada o bundle antiguo puede renderizar el esquema de ayer contra la validación PHP de hoy. Compara versiones de assets y cabeceras como visitante anónimo.

Purga solo la página y recursos generados relevantes. No borres carritos activos si la sesión no interviene.

Verifica de nuevo cuando la caché ya esté poblada.

Si update_checkout reemplaza el campo, vuelve a enlazar únicamente mediante la API o evento documentado y evita acumular listeners en cada actualización. Dos controladores pueden borrar, copiar o validar el valor en un orden diferente según el país seleccionado.

Repara y prueba la validación

Alinea nombre renderizado, valor POST y validación del servidor. Corrige condiciones y marcado duplicado sin retirar requisitos legales, fiscales, de envío o fraude.

Prueba valores vacíos para confirmar errores útiles, después autocompletados y escritos manualmente en escritorio y móvil.

Completa la compra y verifica pago, impuestos, transporte, stock y email. El mantenimiento recurrente debe repetir estas pruebas después de cambios de WooCommerce, tema, dirección, traducción u optimización.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia