php - 如何在税后计算的 woocommerce 中添加自定义费用

标签 php wordpress woocommerce e-commerce

我已使用以下代码向我的结帐页面添加自定义费用:

add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;

    $percentage = 0.03;
    $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total + $woocommerce->cart->tax_total ) * $percentage;
    $woocommerce->cart->add_fee( 'My Fee', $surcharge, false, '' );

}

除添加税外,一切都按预期进行。我想添加

$woocommerce->cart->tax_total

可以解决问题,但该值返回 0。

在计算此费用之前是否有一些方法可以计算税金?

最佳答案

我不确定这是否是处理此问题的正确 方法。

但是,我找到了解决问题的有效方法。

我刚刚计算了税金并将其添加到费用计算中。

add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
global $woocommerce;

if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

    $percentage = 0.03;
    $taxes = array_sum($woocommerce->cart->taxes);
    $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total + $taxes ) * $percentage;   
    // Make sure that you return false here.  We can't double tax people!
    $woocommerce->cart->add_fee( 'Processing Fee', $surcharge, false, '' );

}

我从 Woocommerce documentation 中得到以下行.注意将 taxable 变量设置为 false,以免双重征税。

$taxes = array_sum($woocommerce->cart->taxes);

关于php - 如何在税后计算的 woocommerce 中添加自定义费用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32915277/

相关文章:

php - 在 Zend Framework 1.10.x 中使用 Doctrine 2

php - 我怎样才能保持 Mozilla Firefox 上的图像比例?

jquery - Bootstrap 4 与 wordpress jquery

wordpress - 无法设置 WooCommerce 商店基页和商店标题

javascript - 网站上的 Facebook 共享按钮

javascript - 从 JSON 到 Actionscript

wordpress - 由于双击广告 dot.gif 导致的混合内容错误

html - 移动 div 问题

php - 在 Woocommerce 中使用电子邮件 ID 定位特定电子邮件

php - 如何找到 WooCommerce 样式表的 Hook 名称