私はWooCommerceでWooCommerce購読プラグインを使用しています。WooCommerce非定期購読料
- ユーザーが
- ユーザーは、サブスクリプション製品を持っているアクティブなサブスクリプションを持っている:の1は、以下の条件が満たされたとき、私は正常品に10%の割引を行うための関数を記述しようとしています彼のカート
function vip_discount() {
$woocommerce = WC();
$items = $woocommerce->cart->get_cart();
$vip_product_id = get_subscription_product_id();
$is_vip_in_cart = is_in_cart($vip_product_id);
$vip_product_price = 0;
foreach ($items as $item) {
if($item['variation_id'] === get_subscription_variation_id('monthly') || $item['variation_id'] === get_subscription_variation_id('quarterly') || $item['variation_id'] === get_subscription_variation_id('annually')) {
$vip_product_price = $item['line_total'];
}
}
if (wcs_user_has_subscription('', '', 'active') || $is_vip_in_cart) {
// Make sure that the calculation is a negative number at the end ALWAYS!
$discount = -(10/100) * ($woocommerce->cart->get_displayed_subtotal() - $vip_product_price);
print_r($discount);
$woocommerce->cart->add_fee('VIP Discount', $discount);
}
}
add_action('woocommerce_cart_calculate_fees', 'vip_discount');
に問題はこのフックが二回実行何らかの理由であるということです。また、それは正しい料金を適用していない。これは、否定的に適用された料金から定期的なアイテムの合計を差し引く代わりに、その料金はサブスクリプション(定期的な)商品の価格自体として終了します。
補足情報や助けをいただければ幸いです。