Cómo crear un descuento en recogida local con Woocommerce

Cómo crear un descuento en recogida local con Woocommerce

En esta breve publicación, te mostraré cómo crear un descuento en recogida local con WooCommerce. Dicho de otro modo, cada vez que un cliente tuyo seleccione recogida local como método de envío, ofrecerle un descuento.

¿Por qué debería ofrecer un descuento en recogida local?

Las ventajas son muchas:

  • La primera, que potencias una recogida que puede beneficiar a tus compradores locales: Ellos ganan un descuento y tú te ahorras los costes de envío. Win to Win.
  • Potencias la visita a tu tienda física, por lo que puedes conseguir que conozcan toda la gama de productos.
  • Puedes potenciar las ventas cruzadas en real, conociendo mejor a tu cliente y ganando lo que no pudiste ganar desde la web.
  • La gestión de tu almacén se facilita.
  • Tienes una tienda pequeña y por lo tanto no tienes tiempo para preocuparte con los envíos todo el tiempo. Por lo tanto, sería mucho más fácil para ti si el cliente viniera a la tienda a recoger el producto. 
  • Apuestas por producto de Km. cero o consumo local.

¿Te he convencido? ¿Cómo lo haremos?

El método es realmente simple: Pegas un código que te daré en functions.php de tu plantilla de WordPress, o bien, usas un programa como Code Snippets y a rodar. Te ahorras la instalación del plugin y su respectivo mantenimiento.

Así que vamos al meollo…

¿Cómo ofrecer un porcentaje de descuento en recogida local con WooCommerce?

Simplemente copia este código aquí abajo y pégalo en su archivo functions.php. O mejor aún, usa el plugin Code Snippets que te permite agregar funciones personalizadas sin la necesidad de modificar los archivos de tu tema. 

Sin embargo, presta atención a que este ejemplo agrega un descuento basado en porcentaje al pago de WooCommerce.

Un par de cosas para señalar:

1) Establece tu porcentaje en la fila 5. En el ejemplo, 0,15 significa 15%. Si quieres dar un 5% de descuento, configúralo en 0,05

2) La fila 6 tiene el texto «Discount added» que se mostrará debajo del método de envío con recogida local si se selecciona el método. Mira la captura de pantalla a continuación. Si lo ves oportuno, cambia este texto si lo ves necesario. (En castellano: Descuento añadido)

// Agrega Descuento por porcentaje a la recogida local en Woocommerce
function local_pickup_discount( $cart ) {
  $chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
  $chosen_shipping_no_ajax = $chosen_methods[0];
  if ( 0 === strpos( $chosen_shipping_no_ajax, 'local_pickup' ) ) {
    $discount = $cart->subtotal * 0.15; // Establece tu porcentaje. Este ejemplo da un 15% de descuento
    $cart->add_fee( __( 'Descuento agregado', 'yourtext-domain' ) , -$discount ); // Change the text if needed
  }
}
add_action( 'woocommerce_cart_calculate_fees', 'local_pickup_discount');

Nota: Por supuesto, si te ves con capacidad, siempre puedes modificar el código a tu gusto.

descuento en recogida local
Así quedaría con el código de más arriba.

Cómo agregar un descuento en recogida local por cantidad fija en WooCommerce

Pero, ¿Qué pasa si necesitas agregar un descuento en cantidad fija a tu método de envío con recogida local? Si es así, utiliza el fragmento que hay a continuación.

Un par de cosas para señalar:

1) Establece tu importe fijo en la fila 9. En el ejemplo, 5 significa 5 euros. Si deseas ofrecer un descuento de 10 euros, cambia este número en consecuencia.

2) La fila 20 tiene el texto «Descuento por recogida» que se mostrará en el método de envío con recogida local si se selecciona el método. Cambia este texto si es necesario. Además, si necesitas cambiar el signo de la moneda, estará en la misma fila.

// Agrega descuento por cantidad fija en recogida local con Woocommerce
add_action( 'woocommerce_cart_calculate_fees', 'local_pickup_fixed_discount', 10, 1 );
function local_pickup_fixed_discount( $cart ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    // Solo en página de pago
    if ( is_checkout() ) {
    
      $amount = 5; // <=== Establece aquí la cantidad de descuento
		
    
        $chosen_shipping_method_id = WC()->session->get( 'chosen_shipping_methods' )[0];
        $chosen_shipping_method    = explode(':', $chosen_shipping_method_id)[0];
    
        // Only for Local pickup chosen shipping method
        if ( strpos( $chosen_shipping_method_id, 'local_pickup' ) !== false ) {
            // Calcular el descuento
            $discount =  $amount;
            // Agrega el descuento
            $cart->add_fee( __('Descuento por recogida') . ' (' . $amount . '€)' , -$discount );
        }
    }
}

¿Quieres más códigos como estos? ¿Conoces mi colección de code snippets?

Cómo crear un descuento en recogida local con Woocommerce 1

Mis herramientas favoritas de WordPress.

Gracias por leer este artículo. Espero que lo hayas encontrado útil a medida. Aquí hay algunas herramientas que utilizo como desarrollador y entusiasta de WordPress que espero que también te resulten útiles.

Estos son enlaces de afiliados, así que si decides usar alguno de ellos, ganaré una comisión y esto me ayudará a crear estos tutoriales y hacer videos de Youtube. Pero con toda honestidad, estas son las herramientas exactas que uso y recomiendo a todos, incluso a mis clientes, alumnos, amigos y familiares.

Hosting: Si deseas tener un alojamiento en la nube administrado realmente rápido y fácil de usar, profesional y con un soporte de lujo, te recomiendo LucusHost. (mira mi reseña aquí).

Desde este enlace podrás conseguir un 20% de descuento.

LMS: ¿Quieres montar tus propios cursos online en WordPress? Te sugiero Learndhash.

Orderable: Toma pedidos de restaurantes online. El plugin de WooCommerce diseñado para ayudarte a administrar tu restaurante.

Iconic: Impulsador de ventas para WooCommerce. Un conjunto de plugins para WooCommerce que potenciará tus ventas, como habilitar opciones de diseño personalizables para tus productos, agregar limites a cantidad de reservas y restricciones de tiempo a métodos de entrega específicos, swatches personalizados para atributos y un sinfín de opciones.

Membresía: Si quieres hacer una web de membresía, Memberdash es una de las opciones más flexibles.

Cómo crear un descuento en recogida local con Woocommerce 2
Related Posts
Leave a Reply

Your email address will not be published.Required fields are marked *