【发布时间】:2020-03-01 03:02:15
【问题描述】:
我正在尝试更新订购产品的数量,并且在这样做时我希望订单能够反映实际成本。我发现发生的是产品成本降低以匹配总数,并且订单总数从未实际更新。我在下面提供了一个简单的示例:
function prefix_update_woo_order() {
$order_id = 123; // This needs to be a real order or there will be errors
$order_item_id = 5; // This needs to be a real order item ID or there will be errors.
$order = new WC_Order( $order_id );
$order_items = $order->get_items();
$order_items[ $order_item_id ]->set_quantity( 2 );
$order->calculate_taxes();
$order->calculate_totals();
$order->save();
}
add_action( 'admin_init', 'prefix_update_woo_order' );
例如,“带有徽标的豆豆”产品售价 18.00 美元,我最初购买 1 个。我想在下订单后以编程方式将订单商品的数量更新为 2 个,而不是 1 个。我预计总价为 36.00 美元,但我发现产品成本会发生变化以匹配总价。数量更新为 2 个,成本降至 9.00 美元,而不是“带徽标豆豆”的 18.00 美元。
简而言之,我想做的是更新现有订单商品数量并更新总计以反映新的数量成本、折扣、税费。我需要使用什么方法来实现这一点?
【问题讨论】:
标签: wordpress woocommerce