【问题标题】:How to add a percentage based surcharge (plus tax of surcharge) to all transactions如何为所有交易添加基于百分比的附加费(加上附加税)
【发布时间】:2022-01-22 10:26:38
【问题描述】:

我正在尝试在购物车和结帐时从 Woocommerce 小计中添加基于百分比的费用。但是,这笔费用要由小计的 5% 附加费 + 5% 附加费的 20% 税来弥补。

  • 小计:100 英镑
  • 附加费:6 英镑

我已经设法添加了小计 5% 的费用。但是,如何在上面加上 20% 的 $surcharge?

此外,这种类型的更改对电子邮件也有效吗? (以及购物车/结帐)是

任何建议将不胜感激。

提前致谢。

    add_action( 'woocommerce_cart_calculate_fees','custom_adminfee_surcharge' );
    function custom_adminfee_surcharge() {
      global $woocommerce;
        if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;
$percentage = 0.05 * .20;
        $surcharge = ( $woocommerce->cart->subtotal + $woocommerce->cart->shipping_total ) * $percentage;   
        $woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, '' );
    }

【问题讨论】:

  • 那么,小计的 5%,然后是 5% 的 20%?
  • 是的,完全正确。

标签: php wordpress woocommerce hook-woocommerce checkout


【解决方案1】:

这应该是小计的 5%,然后是 5% 的 20%...

add_action( 'woocommerce_cart_calculate_fees','custom_adminfee_surcharge' );
function custom_adminfee_surcharge() {
  global $woocommerce;
    if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;

    $percentage = ( $woocommerce->cart->subtotal + $woocommerce->cart->shipping_total ) * 0.05;
    $surcharge = $percentage * 0.20;
    $total_charges = $percentage + $surcharge;

    $woocommerce->cart->add_fee( 'Surcharge', $total_charges, true, '' );
}

【讨论】:

  • 优秀。感谢您的协助和时间。
  • 老板,我可以问一个简单的问题,自定义附加费非常适用于购物车和结帐页面,但是如何将其应用于电子邮件订单表?通过使用过滤器 woocommerce_get_order_item_totals,相同的功能是否适用于电子邮件?谢谢
  • @Ross,它应该会出现,但我不是 100% 确定。如果它没有显示,那么您可以通过挂钩将该字段添加到电子邮件中,如下所示:woocommerce.com/document/… 希望您可以从该文档中解决它..
  • 您可以在电子邮件挂钩函数$fees = $woocommerce->cart->get_fees() 中使用这将是一个数组,然后使用$fees['Surcharge'] 访问您的费用(未经测试,但希望能给您一些想法)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-13
  • 1970-01-01
相关资源
最近更新 更多