使用代码自动应用优惠券,可以使用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
暂无评论内容