我需要在某些状态下的结帐页面中添加手续费。为此,我正在使用woocommerce add_fee选项。但是我的问题是在结帐页面上显示的手续费不计在内。这是我的代码
SELECT cd1.CustomerNumber,
cd1.TransactionNumber,
cd1.AddonCode,
cdg1.CustomerNumber,
cdg1.TransactionNumber,
cdg1.AddonCode
FROM Orig_DD cd1 INNER JOIN LaterLines_DD cdg1 ON cd1.CustomerNumber = cdg1.CustomerNumber AND cd1.TransactionNumber = (cdg1.TransactionNumber +1)
ORDER BY cd1.CustomerNumber, cdg1.AddonCode;
任何人都可以帮助我。
答案 0 :(得分:0)
自WooCommerce 3起,您的代码已过时。
get_shipping_state()
之类的方法。global $woocommerce
和$woocommerce->cart
已过时,直接由WC()->cart
取代WC_Cart
对象$cart
变量可用作参数。正确的代码是:
add_action( 'woocommerce_cart_calculate_fees','add_custom_surcharge', 10, 1 );
function add_custom_surcharge( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$state = array('MH');
$surcharge = 10;
if ( in_array( WC()->customer->get_shipping_state(), $state ) ) {
$cart->add_fee( 'Additional Charge', $surcharge, true );
}
}
现在使用Fee API时,费用金额显示为总计,并最后添加到总计中,但不计入小计< / strong>:
WooCommerce中的小计仅由购物车项目小计……