Al revisar Analytics es frecuente encontrar muchas visitas a la página de checkout, pero bastantes menos a la página de pedido completado. Esto puede deberse a diferentes motivos, aunque uno de ellos es especialmente fácil de evitar: el cliente no sabe si WooCommerce está procesando correctamente su pedido.
Algunas pasarelas necesitan varios segundos para validar el pago y crear el pedido. Durante ese tiempo, el botón permanece cargando, pero WooCommerce no siempre ofrece una explicación clara. El cliente puede pensar que la página se ha bloqueado, volver a pulsar el botón, recargarla o cerrarla antes de que termine el proceso.
En este tutorial aprenderás a mostrar un mensaje mientras WooCommerce procesa un pedido, indicando al cliente que debe esperar y no recargar la página.
Por qué conviene mostrar un aviso durante el pago
Cuando una tienda tarda unos segundos en completar un pedido, la ausencia de información genera incertidumbre. Esto resulta especialmente problemático en compras realizadas desde conexiones lentas o cuando la pasarela de pago necesita comunicarse con servicios externos.
Un mensaje como este deja claro que el proceso continúa:
Espera un momento mientras procesamos tu pedido
No cierres ni recargues esta página.
El aviso no hace que WooCommerce procese el pago más rápido, pero mejora la experiencia de compra y reduce la posibilidad de que el cliente interrumpa accidentalmente el pedido.
Snippet para mostrar un mensaje mientras WooCommerce procesa un pedido
El siguiente código muestra una ventana superpuesta después de que el cliente pulse el botón para realizar el pedido.
/**
* Muestra un mensaje mientras WooCommerce procesa el pedido.
*
* El mensaje solo aparece cuando el formulario es válido.
*
* Compatible con:
* - Checkout por bloques de WooCommerce
* - Checkout clásico de WooCommerce
*/
add_action( 'wp_footer', function () {
// Cargar únicamente en la página de finalizar compra.
if (
! function_exists( 'is_checkout' ) ||
! is_checkout() ||
is_order_received_page()
) {
return;
}
?>
Espera mientras procesamos tu pedido
No recargues ni cierres esta página.
El snippet funciona tanto con el checkout por bloques de WooCommerce como con el checkout clásico. Cuando comienza el procesamiento, muestra un fondo superpuesto con un indicador de carga y un mensaje para el cliente.
Si WooCommerce detecta un campo incompleto, unos términos sin aceptar o cualquier otro error de validación, el aviso desaparece automáticamente para que el cliente pueda corregir la información.
Cómo añadir el código a WordPress
Puedes instalar el snippet mediante un plugin de fragmentos de código, como Code Snippets, sin modificar directamente los archivos del tema.
Crea un nuevo snippet, pega el código completo, guarda los cambios y actívalo para que se ejecute en el frontal de la web. Si utilizas otro sistema para añadir PHP personalizado, asegúrate de que el código no se cargue únicamente en el área de administración.
Antes de utilizarlo en una tienda activa, realiza siempre un pedido de prueba.
Qué verá el cliente durante el procesamiento
Después de pulsar el botón de pago, el cliente verá el aviso superpuesto mientras WooCommerce crea y procesa el pedido. Durante ese tiempo se le pide que no cierre ni recargue la página.
Si el pedido se completa correctamente, WooCommerce lo redirigirá a la página de confirmación. Si existe algún error, el aviso se cerrará para que pueda revisar el checkout e intentarlo de nuevo.
Este comportamiento ayuda a evitar pulsaciones repetidas y transmite mayor confianza durante una de las fases más sensibles de una compra online.
Cómo personalizar el aviso
Dentro del propio snippet puedes cambiar fácilmente el título, el texto y los colores para adaptarlos al diseño de tu tienda. No es necesario modificar su funcionamiento para realizar estos cambios visuales.
Conviene utilizar un mensaje corto y tranquilizador. El objetivo es que el cliente comprenda inmediatamente que su pedido se está procesando y que debe mantener abierta la página.
Cómo comprobar que funciona correctamente
Abre la tienda en una ventana de incógnito, añade un producto al carrito y completa el checkout como lo haría un cliente. Al pulsar el botón para realizar el pedido, el aviso debe aparecer y permanecer visible hasta que WooCommerce muestre la confirmación.
También debes probar el formulario dejando vacío un campo obligatorio o sin aceptar los términos. En ese caso, el aviso debe cerrarse para permitir que se corrija el error.
Por último, comprueba el proceso tanto en ordenador como en móvil y, si tu tienda ofrece varias pasarelas, realiza una prueba con cada una de ellas.
Una pequeña mejora que puede evitar pedidos abandonados
No todos los abandonos del checkout tienen una solución técnica sencilla. Sin embargo, cuando el problema es la incertidumbre durante el procesamiento, un mensaje claro puede marcar una diferencia importante.
Mostrar un mensaje mientras WooCommerce procesa un pedido no reduce el tiempo real de espera, pero sí mejora la percepción del proceso. El cliente sabe que la tienda está trabajando, entiende que debe esperar y tiene menos motivos para cerrar o recargar la página.
Es una modificación pequeña, compatible con los principales tipos de checkout de WooCommerce y especialmente útil en tiendas donde el pago necesita varios segundos para completarse.
Dudas habituales
¿El aviso funciona con el checkout por bloques y con el checkout clásico de WooCommerce?
Sí. El código está preparado para detectar tanto el botón del checkout por bloques de WooCommerce como el botón del checkout clásico. Antes de utilizarlo en una tienda activa, conviene realizar un pedido de prueba con la configuración concreta de la web.
¿Este snippet hace que WooCommerce procese los pedidos más rápido?
No. El snippet no acelera el servidor ni la pasarela de pago. Su función es informar al cliente de que el pedido se está procesando, reducir la incertidumbre y evitar que recargue la página o pulse varias veces el botón mientras espera.
¿Qué ocurre si falta un campo obligatorio o no se aceptan los términos y condiciones?
El código espera a que WooCommerce valide el formulario. Si falta un dato obligatorio, el método de pago no es válido o no se han aceptado los términos, el aviso se oculta y el cliente puede corregir el error antes de volver a realizar el pedido.
¿Se pueden personalizar el mensaje, los colores y el indicador de carga?
Sí. Puedes modificar el título, el texto secundario, el fondo, la ventana, la tipografía y el color del indicador giratorio. Los puntos principales están señalados mediante comentarios para que puedas adaptar el aviso al diseño de tu tienda.
¿Es necesario modificar el archivo functions.php para instalar el código?
No es obligatorio. Puedes instalarlo mediante el plugin gratuito Code Snippets, sin editar los archivos del tema. También es posible añadirlo al archivo functions.php de un tema hijo si prefieres gestionar el código manualmente.
¿El mensaje es compatible con todos los métodos de pago?
El aviso no depende directamente de una pasarela concreta, por lo que puede funcionar con tarjeta, PayPal, transferencia bancaria y otros métodos. Aun así, algunas pasarelas aplican redirecciones o validaciones propias, por lo que es recomendable probar cada método de pago disponible antes de publicar los cambios.
