由于我的购物车商品是从另一个CMS导入的,因此我正在“即时”创建Woocommerce总计。
当前我无法为每个订单设置自定义“费用” ,然后将订单标记为“保留”:
$order->set_date_created($creation_tsz);
$order->set_address( $address, 'billing' );
$order->set_address( $address, 'shipping' );
$order->set_currency('GBP');
$order->add_fee('Imported Total', $imported_total_here);
$order->set_fee();
$order->calculate_totals();
$order->update_status('on-hold');
对此,任何跟踪都会受到赞赏。
答案 0 :(得分:2)
从Woocommerce 3开始,对于
WC_Abstract_Legacy_Order
类,set_fee()
方法add_fee()
is deprecated和WC_Order
方法不存在(仅对于WC_Cart
和{{1 }}类)。
要以编程方式向订单添加费用,这要复杂一些。有一些参数可以设置为“费用名称”,税收状态,税收类别(如果需要)和费用金额(不含税)。
还要进行税收计算,具体取决于税收设置,您需要设置一个数组,该数组至少包含客户国家/地区代码(如果税收基于国家/地区)
在下面的代码中,费用金额变量名称为WC_API_Orders
:
$imported_total_fee
经过测试,效果很好。