我正在“即时”创建 Woocommerce 总计,因为我的购物车项目是从另一个 CMS 导入的。
目前,我无法为每个订单设置自定义“费用”,然后将订单标记为“暂停”:
$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');
Run Code Online (Sandbox Code Playgroud)
任何关于此的曲目将不胜感激。
我已经添加了从亚马逊同步的订单的运费。由于某种原因,我必须在为亚马逊订单创建的 woo 订单中设置自定义运输统一价格。其操作如下:
$OrderOBJ = wc_get_order(2343);
$item = new WC_Order_Item_Shipping();
$new_ship_price = 10;
$shippingItem = $OrderOBJ->get_items('shipping');
$item->set_method_title( "Amazon shipping rate" );
$item->set_method_id( "amazon_flat_rate:17" );
$item->set_total( $new_ship_price );
$OrderOBJ->update_item( $item );
$OrderOBJ->calculate_totals();
$OrderOBJ->save()
Run Code Online (Sandbox Code Playgroud)
问题是,每次亚马逊状态更改时我都必须更新订单,这样做没有问题,问题是如果更新的话我也必须更新运费。但无论如何我还没有找到这样做。谁能告诉我如何更新以此方式设置的订单的发货项目?或者事实上,一旦设置了运输项目,我们就无法更新或删除它?