WooCommerce使用代码自动应用优惠券

使用代码自动应用优惠券,可以使用wc对象,也可以使用apply_coupon函数。

<?php
/**
 * Plugin Name: 代理自动应用优惠券
 * Plugin URI:  https://www.kekc.cn
 * Description: 通过代理推广链接,自动记录是谁推广来的,从而应用相关优惠券,目前应用的代理包括:refxxx。
 * Author:     殷江碧
 * Author URI:  https://www.kekc.cn
 * Version:     1.0.0
 */

// 当前仅有一位代理设置
// > ≥140,000、2,000通用优惠券
// > ≥185,000、3,000通用优惠券
// > ≥235,000、5,000通用优惠券
// https://xxxx/?ref=refxxx


// 存储推广者用户名
add_action("wp_loaded",function(){
 $ref = isset($_GET['ref'])?wc_clean($_GET['ref']):null;
 if($ref){
  $user = get_user_by('login', $ref);
  if($user){
  setcookie("ref", $ref, time()+3600);
  }
 }
},10);


// 自动设置优惠券
add_action("wp_loaded",function(){
 if (isset($_COOKIE["ref"]) && isset( WC()->cart )){
  $ref = wc_clean($_COOKIE["ref"]);
  $user = get_user_by('login', $ref);
  if($user){
   $cart_object=WC()->cart;
   $cart_total = $cart_object->get_cart_contents_total();
			$coupons = WC()->cart->get_coupons();
			$has2000 = false;
			$has3000 = false;
			$has5000 = false;
			if ( $coupons ) {
				foreach ( $coupons as $code => $coupon ) {
					if ($code == "2000优惠券") {
						$has2000 = true;
					}
					if($code == "3000优惠券"){
					 $has3000 = true;
					}
					if($code == "5000优惠券"){
					 $has5000 = true;
					}
				}
			}
   if($ref == "refxxx"){
    if($cart_total >= 235000){
     if(!$has5000){WC()->cart->add_discount("5000优惠券");}
    }elseif($cart_total >= 185000 && $cart_total < 235000){
     if(!$has3000){WC()->cart->add_discount("3000优惠券");}
    }elseif($cart_total >= 140000 && $cart_total < 185000){
     if(!$has2000){WC()->cart->add_discount("2000优惠券");}
    }
   }
  }
 }
},1001);

// 移除相关优惠券时删除相关Cookies,防止用不了其他冲突的优惠券
add_action("woocommerce_removed_coupon",function($coupon){
    if(in_array($coupon,["5000优惠券","3000优惠券","2000优惠券"])){
        setcookie("ref", "", time()-3600);
    }
});
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情代码图片

    暂无评论内容