WooCommerce: “Gracias por su pedido” personalizada

WooCommerce Gracias por su pedidoVisto lo visto, WooCommerce no le ha dedicado mucho tiempo al diseño de una de las páginas más importantes de una tienda online. Estoy hablando de la página del propio WooCommerce: “Gracias por su pedido”; es la página que aparece inmediatamente después de que el cliente haya finalizado su compra.

En los ajustes del propio WooCommerce la encontrarás bajo el menú: “Finalizar compra” como: Pedido recibido: Order received

En esa página, una tienda online recibe un tráfico precioso e invalorable; ¡pasan por ella tus visitantes más importantes!, aquellos seres de luz que acaban de realizar una compra, que confían en tu producto y que se han transformado en tus clientes. Por tanto, es de fundamental importancia fidelizarlos, dándoles información que pueda interesarles: sea regalándoles un cupón para su próxima compra o enviándolos a otras páginas de tu sitio que les resulten atractivas. Esto ya queda al poder de tu propia imaginación.

Bien, hoy te contaré cómo encontrar y crear tu propia página de Gracias por su pedido de WooCommerce, en pocos minutos y sin complicaciones innecesarias. ¡Diséñala a tu gusto y aprovecha su infinita utilidad!

¿Dónde está la bendita página de Gracias por su pedido / order-received?

El problema surge cuando nos damos cuenta de que esa página no existe realmente… entonces comenzamos a rompernos la cabeza para deducir cómo editarla y por supuesto, entramos en 20 páginas de resultados de búsqueda en Google antes de encontrar la respuesta que necesitamos.

Es posible que hayas llegado hasta aquí de esa forma ¿he acertado?

Para encontrar la página de “Gracias por su pedido” que ve el cliente al finalizar su compra sin necesidad de hacer pruebas, usa esta URL en tu sitio:

tusitioweb.com/finalizar-compra/order-received/

¿A que es una página muy triste? ¡Seguramente concuerdas conmigo en que lo es!

¿Y por qué no la encuentras? es que la página order-received no es realmente una página como tal, es un slug de la página finalizar-compra y por tanto, no se puede editar directamente.

¿Qué es un slug?

WooCommerce utiliza diferentes URL’s que en la práctica no existen para mostrar contenido diferente al cliente. Se denominan “slug” y este es el caso de order-received, que no tiene ningún template fácilmente editable.

A este tipo de páginas también se los llama endpoints de Woocommerce, se trata de un sistema propio capaz de mostrar diferentes contenidos en una misma página.

¿Pero entonces… cómo edito la página “order-received”?

Si haces la prueba de editar la página order-receive,  te encontrarás con la página finalizar-compra, que tiene como único texto el siguiente shortcode:

[woocommerce_checkout]

¡Al fin la solución!

La solución está en crear una nueva página (Páginas -> Añadir nueva) y redireccionarla. Así se convertirá en la página de “Gracias por su pedido” al finalizar una compra en WooCommerce.

Una vez creada la nueva página de “Gracias por su pedido” de WooCommerce, será muy fácil redireccionarla; simplemente añades el siguiente código a tu archivo functions.php:

//* Redireccionar página de gracias por su compra

add_action( 'template_redirect', 'wc_custom_redirect_after_purchase' ); 

function wc_custom_redirect_after_purchase() {
    global $wp;

    if ( is_checkout() && ! empty( $wp->query_vars['order-received'] ) ) {
        wp_redirect( 'https://tudominio.com/tu-pagina-de-gracias-por-su-compra/' );
        exit;
    }
}

Esto hará que al finalizar la compra, tu cliente llegue a la página de WooCommerce: “Gracias por su pedido” que hayas diseñado.

¡Eso es todo! Si te quedan dudas, déjalas en los comentarios para que pueda ayudarte

 

Marcar el Enlace permanente.

6 comentarios

  1. Hola, tengo una web con varios idiomas y necesito que por cada idioma redirija a su página de gracias por su pedido como se haria?

  2. Hola Aitor, en ese caso yo te recomendaría utilizar WooCommerce Multilingual y el plugin WPML que, al configurar los idiomas, te crea automáticamente todas las páginas por defecto de WooCommerce en cada uno de los idiomas; entre ellas la página “Finalizar compra”.

    Lo malo es que es de pago y no es barato precisamente. Lo bueno es que te soluciona casi cualquier problema que surge al tener un sitio multilingüe.

    ¡Saludos!

  3. Yo me refiero al mensaje de gracias por su pedido despues del pago

  4. Si, te he entendido. Ese mensaje aparece en el slug “order-received” de la página de “Finalizar pedido” y esa página es solo en un idioma. Con WPML podrías tener el mensaje que dices en varios idiomas.

    Otra forma sería crear el script manualmente para que el sistema originase diferentes páginas según el idioma, pero eso ya requiere de conocimientos importantes de programación.

    ¡Saludos!

  5. Si utilizas WPML, una posible solución sería seleccionar la página de destino en función del contenido de ICL_LANGUAGE_CODE, que indica el idioma en uso.

  6. Si utilizo wpml, bueno al final he visto que me hace el checkout/order-received y los diferentes idiomas me cambia el checkout.

Deja tu comentario