Los usuarios pueden ingresar manualmente un código de cupón, actualizar el carrito y ver que su descuento se aplique … o puede hacerlo automáticamente (o «programáticamente» como decimos en la web oscura) cuando un usuario agrega un producto al carrito de WooCommerce 🙂
Todo lo que tienes que hacer es crear un cupón, y luego una función PHP hará todo el trabajo. ¡La automatización es lo mejor del mundo!
Php Snippet 1: aplique un cupón programáticamente si un producto está en el carrito
Notas:
- Cree un código de cupón que desee aplicar una vez que se agrega un determinado producto al CART (vaya a WooCommerce / cupones / agregue nuevo y decida su código de cupón. Por ejemplo, «FreeWeek», que es el código de cupón que usaremos más adelante en el PHP retazo)
- Identifique su ID de producto (vaya a WordPress / Productos y pase el paso en el producto con el que desea usar el cupón. Cualquier identificación que muestre en la barra de URL, tome una nota. En nuestro ejemplo, nos dirigiremos al producto ID = «745»)
/** * @snippet Apply a Coupon Programmatically if Product @ Cart - WooCommerce * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WC 4.1 * @community https://businessbloomer.com/club/ */ add_action( 'woocommerce_before_cart', 'bbloomer_apply_matched_coupons' ); function bbloomer_apply_matched_coupons() { $coupon_code = 'freeweek'; if ( WC()->cart->has_discount( $coupon_code ) ) return; foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { // this is your product ID $autocoupon = array( 745 ); if ( in_array( $cart_item['product_id'], $autocoupon ) ) { WC()->cart->apply_coupon( $coupon_code ); wc_print_notices(); } } }
Php Snippet 2: aplique un cupón programáticamente para todos los productos
/** * @snippet How to Apply a Coupon Programmatically - WooCommerce Cart * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer * @compatible WC 4.1 * @community https://businessbloomer.com/club/ */ add_action( 'woocommerce_before_cart', 'bbloomer_apply_coupon' ); function bbloomer_apply_coupon() { $coupon_code = 'freeweek'; if ( WC()->cart->has_discount( $coupon_code ) ) return; WC()->cart->apply_coupon( $coupon_code ); wc_print_notices(); }