我想使用 woocommerce 优惠券添加动态优惠券金额。首先我生成一张优惠券并将优惠券金额的值设置为 Rs 0。当应用优惠券时,根据客户之前的订单金额生成折扣金额。优惠券折扣已成功应用于结帐页面,但未按收到的顺序和 wp-admin 显示。我创建了一个子主题,下面是 function.php 代码 -
function royal_woocommerce_filter_checkout_for_coupons( $subtotal, $compound, $cart )
{
$customer_user_id = get_current_user_id();
$customer_orders = get_posts(array(
'meta_key' => '_customer_user',
'meta_value' => $customer_user_id,
'post_type' => 'shop_order',
'post_status' => array('wc-completed')
));
foreach($customer_orders as $cs)
{
$latest_order_id = $cs->ID;
$amount = get_post_meta( $latest_order_id, '_order_total', true );
$order_total=$amount+$order_total;
}
$store_credit = $order_total;
$coupon_name=$cart->applied_coupons[0];
if($coupon_name =='upgrade')
{
$coupon = array($coupon_name => $store_credit);
$cart->applied_coupons = array($coupon_name);
$cart->set_discount_total($store_credit);
$cart->set_total( $cart->get_subtotal() - $store_credit);
$cart->coupon_discount_totals = $coupon;
} else {
$cart->remove_coupon( $coupon_name );
}
return $subtotal;
}
add_filter( 'woocommerce_cart_subtotal', 'royal_woocommerce_filter_checkout_for_coupons', 10, 3 );