gpt4 book ai didi

php - 在 Woocommerce 3 中以编程方式向订单添加运费

转载 作者:可可西里 更新时间:2023-11-01 00:39:07 25 4
gpt4 key购买 nike

我一直在尝试多种解决方案,以通过 Woocommerce 以编程方式设置运费(每个订单)的价格。我运气不好

我已经尝试覆盖该项目的元值:

            update_post_meta( $woo_order_id, '_order_shipping', $new_ship_price );

还尝试了与此 [问题/答案][1] 类似的方法

                    $item_ship = new WC_Order_Item_Shipping();

$item_ship->set_name( "flat_rate" );
$item_ship->set_amount( $new_ship_price );
$item_ship->set_tax_class( '' );
$item_ship->set_tax_status( 'none' );


// Add Shipping item to the order
$order->add_item( $item_ship );

但似乎都不起作用。任何指针都非常受欢迎。


类似主题:Add a fee to an order programmatically in Woocommerce 3

最佳答案

要在 Woocommerce 3+ 中处理此问题,请使用以下内容(来自 WC_Order Order 对象 $order):

## ------------- ADD SHIPPING PROCESS ---------------- ##

// Get the customer country code
$country_code = $order->get_shipping_country();

// Set the array for tax calculations
$calculate_tax_for = array(
'country' => $country_code,
'state' => '', // Can be set (optional)
'postcode' => '', // Can be set (optional)
'city' => '', // Can be set (optional)
);

// Optionally, set a total shipping amount
$new_ship_price = 5.10;

// Get a new instance of the WC_Order_Item_Shipping Object
$item = new WC_Order_Item_Shipping();

$item->set_method_title( "Flat rate" );
$item->set_method_id( "flat_rate:14" ); // set an existing Shipping method rate ID
$item->set_total( $new_ship_price ); // (optional)
$item->calculate_taxes($calculate_tax_for);

$order->add_item( $item );

$order->calculate_totals();

$order->update_status('on-hold');

// $order->save(); // If you don't update the order status

测试了一个作品。

关于php - 在 Woocommerce 3 中以编程方式向订单添加运费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53671945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com