/**
* Add additional fee to the cart.
*
* This method should be called on a callback attached to the
* woocommerce_cart_calculate_fees action during cart/checkout. Fees do not
* persist.
*
* @uses WC_Cart_Fees::add_fee
* @param string $name Unique name for the fee. Multiple fees of the same name cannot be added.
* @param float $amount Fee amount (do not enter negative amounts).
* @param bool $taxable Is the fee taxable? (default: false).
* @param string $tax_class The tax class for the fee if taxable. A blank string is standard tax class. (default: '').
*/
WC()->cart->add_fee( $name, $amount, $taxable, $tax_class );
3条答案
按热度按时间bd1hkmkf1#
覆盖核心文件不是一个解决方案,因为它会影响其他进程,并且每次更新WooCommerce时都会丢失更改。
使用
WC_Cart
add_fee()
方法与负金额,是一个调整添加折扣.在这种情况下,“应税”可选第三个参数不起作用,和税收总是适用.这已经报告给WooCommerce很多次,回应是WC_Cart
add_fee()
方法不是为折扣.1)关于
WC_Cart
add_fee()
方法4个可用参数的提醒:字符串
2)使“taxable”第三个参数可以处理负数金额:
以下代码将在使用负金额时启用“taxable”,**当 *“taxable”参数设置为
false
**时,允许添加不含税的折扣:型
代码放在子主题的functions.php文件中(或插件中)。
3)使用
Add_fee()
进行测试:下面,我们使用负金额添加不含税的折扣:
型
这一次它的工作原理,税收不适用,当订单提交,同样的事情。
代码放在子主题的functions.php文件中(或插件中)。
ryhaxcpt2#
要将WooCommerce购物车费用的税设置为0,您可以使用
add_fee
方法的第四个参数来指定不应应用税。以下是如何修改代码:字符串
通过传递
false
作为第三个参数,并传递一个空字符串''
作为第四个参数,您表示不应对费用征税。这应该可以防止WooCommerce向费用征税。ki0zmccv3#
我建议比LoicTheAztec提供的更短,更容易理解的解决方案。感谢他的灵感。您可以通过更改
'total' => array()
中的值来修改税费字符串