Repetir la compra en WooCommerce

webempresa woocommerce diegol

En algunos sectores o tipos de cliente es muy normal que se repita el mismo pedido, sobre todo en las tiendas online B2B o distribuidores. Por ejemplo en compras de materias primas que necesitamos siempre las mismas para poder seguir fabricando o bien en el B2C en supermercados online.

En estos casos tener una funcionalidad en el historial de pedidos del usuario para repetir la compra puede ser una muy buena opción para ahorrar tiempo al cliente o bien aumentar la tasa de conversión, ya que es mucho más sencillo y directo comprar.

En este tutorial dependiendo si necesitáis una funcionalidad básica o más desarrollada lo implementaremos en el ecommerce mediante código o un plugin!

Ventajas de repetir o duplicar el pedido

  • Incentivas a que repitan la compra del mismo producto en tu tienda, fidelizando así a los clientes.
  • Cómodo y rápido para el usuario. Tarda menos de 1 minuto en comprar.
  • Si estás en sectores como hogar, alimentación, repuestos… Es decir, sectores en los que repiten mucho la compra los clientes, es necesario. Como los puntos de descuento.

Mediante código

Al ser una funcionalidad muy básica, lo podemos hacer con un poquito de código. En este caso permitimos al cliente repetir la compra con cualquier estado de pedido desde la página de mi cuenta. Si lo queréis cambiar quitar los estados del código y listo.

Hay que añadirlo al fichero functions.php de nuestro child theme o en nuestro plugin de funcionalidades como explico aquí.

add_filter( 'woocommerce_valid_order_statuses_for_order_again', 'dl_repetir_pedido_cualquier_estado', 10, 1);
function dl_repetir_pedido_cualquier_estado($array){
    $array = array_merge($array, array('on-hold','pending', 'processing', 'completed', 'cancelled'));
    return $array;
}

add_filter( 'woocommerce_my_account_my_orders_actions', 'dl_repetir_pedido_mi_cuenta', 20, 2 );
function dl_repetir_pedido_mi_cuenta( $actions, $order ) {
    if ( $order->has_status( 'completed' ) || $order->has_status( 'processing' ) || $order->has_status( 'pending' ) || $order->has_status( 'on-hold' ) || $order->has_status( 'cancelled' ) ) {
        $actions['order-again'] = array(
            'url'  => wp_nonce_url( add_query_arg( 'order_again', $order->id ) , 'woocommerce-order_again' ),
            'name' => __( 'Repetir pedido', 'woocommerce' )
        );
    }

    return $actions;
}

Consiguiendo el siguiente resultado:

repetir pedido en cualquier estado de pedido

Si lo queremos mostrar también en la página de gracias:

add_filter( 'woocommerce_thankyou', 'dl_repetir_pedido_pagina_gracias', 4 );
function dl_repetir_pedido_pagina_gracias($order_id) {
    $order = wc_get_order($order_id);
    if ( $order->has_status( 'completed' ) || $order->has_status( 'processing' ) || $order->has_status( 'pending' ) || $order->has_status( 'on-hold' ) ) {
        $actions['order-again'] = array(
            'url'  => wp_nonce_url( add_query_arg( 'order_again', $order->id ) , 'woocommerce-order_again' ),
            'name' => __( 'Repetir pedido', 'woocommerce' )
        ); 
        ?>
        <a class="btn btn-primary" href="<?php echo $actions['order-again']['url'];?>" ><?php echo $actions['order-again']['name'];?> </a>
        <?php 
        return $order_id;
    }
}

Repeat Order for WooCommerce(gratis)

Si necesitas un plugin gratuito porque no quieres meterte con códigos este es tu plugin, disponible en el repositorio oficial de WordPress. Una vez instalado nos vamos a WooCommerce > Ajustes > repetir pedidos. Y haremos los siguientes ajustes:

repetir compra en woocommerce

Entonces en la pantalla de pedidos se nos quedaría:

plugin repetir pedido woocommerce

Solo se mostrará la opción para los pedidos completados, tenerlo en cuenta. Si lo queréis cambiar, usad el siguiente código:

add_filter( 'woocommerce_valid_order_statuses_for_order_again', 'dl_repetir_pedido_cualquier_estado', 10, 1);
function dl_repetir_pedido_cualquier_estado($array){
    $array = array_merge($array, array('on-hold','pending', 'processing', 'completed', 'cancelled'));
    return $array;
}

También este plugin añade la opción de repetir el pedido en la página de gracias de WooCommerce. No la veo muy útil para un cliente que está comprando pero bueno.

Buy Again for WooCommerce(Premium)

Este es el plugin oficial de WooCommerce.com que podemos encontrar en esta url. Además de tener las funcionalidades del plugin gratis que hemos visto podremos:

  • Crear una sección en mi cuenta para poder volver a comprar productos que ya haya comprado el cliente y añadirlos desde ahí.
  • Poner un aviso en los productos como que ya ha sido comprado.
  • Desde los pedidos del administrador permitir volver a pedirlo.

No veo necesario adquirirlo y con el gratis vamos bien, pero si alguna de estas funcionalidades os es útil adelante. Os lo comento porque en cada tutorial me gusta mostraros todas las opciones que hay.

Cualquier duda como siempre, os leo en comentarios!

¡Haz clic para puntuar esta entrada!
(Votos: 1 Promedio: 5)
template monsters diegol

Especialista en Comercio electrónico con Woocommerce. Te ayudo a crear, gestionar y publicitar tu Ecommerce en función de tu sector y público objetivo. Puedes encontrarme en Diegol.top

¿Necesitas ayuda con este tutorial? Mándame un correo y te resuelvo todas las dudas!


Ver servicios Curso de WooCommerce

También puedes realizar una donacion para seguir apoyando la salida de nuevos tutoriales y actualizaciones

Reader Interactions

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *