【问题标题】:Adding a custom cart negative fee tax issue in woocommerce在 woocommerce 中添加自定义购物车负费用税问题
【发布时间】:2018-06-22 10:52:39
【问题描述】:

我的 woocommerce 网站有运费折扣,我想在购物车页面和结帐页面上显示它,因为我使用了add_fee() 方法。

WC()->cart->add_fee( 'Shipping Discount', -20, false );

它从总金额中减去 20,但是当我在管理员内的订单中检查订单时,它也会根据我配置的税率提供税收折扣。有什么办法可以加折扣吗

如何在 woocommerce 中做到这一点?

【问题讨论】:

  • 是的,你是对的,有一个与负费用相关的错误,即使不征税或税级为零税,也会在全球范围内征收税款……
  • 在 woocommerce 中有没有其他方法可以实现这一目标
  • 我做了一个不同的答案……

标签: php wordpress woocommerce cart discount


【解决方案1】:

对于负购物车费用,有一个与税费相关的错误,因为它们适用于所有税种,即使它不征税。

现在您可以自定义全球购物车折扣,这样您就可以定义您想要的折扣类型、折扣金额和要折扣的来源价格。

此代码将显示他正确的购物车折扣总额

提交后,此折扣总额将传递给订单。

代码:

// Apply a discount globally on cart
add_filter( 'woocommerce_calculated_total', 'discounted_calculated_total', 10, 2 );
function discounted_calculated_total( $total, $cart ){
    $amount_to_discount = $cart->cart_contents_total;
    $percentage = 10; // 10% of discount
    $discounted_amount = $amount_to_discount * $discount / 100;

    $new_total = $total - $discounted_amount;
    return round( $new_total, $cart->dp );
}

代码进入活动子主题(或活动主题)的 function.php 文件中。

经过测试并且有效。

您应该需要编写一些额外的代码来显示折扣金额(在购物车和结帐页面以及订单视图中)并将其作为元数据传递到订单中等等......

【讨论】:

  • 它正在工作,但它也提供税收折扣。例如折扣为 20 ,订单总数为 100 ,税率为 10% 。现在折扣后总数应该是 80,但它计算 20 的税收折扣是 2,所以总数变为 78。
  • @SurjanRaghuwanshi 你试过这个新代码了吗?我们将不胜感激。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-06
  • 2017-10-14
  • 2018-05-18
相关资源
最近更新 更多