我正在創建一個處理WooCommerce裝運和交付的Wordpress插件。如何以編程方式設置WooCommerce的裝運量
我想簡單地告訴我的WooCommerce cart(或order),這是什麼運費是。
我曾嘗試直接設置WC()->cart->shipping_amount = $amount;
,
也做在這兩種情況下對車的shipping_amount
保持在0
->add_fee($shippingServiceName, $amount);
。
如何設置運費?
我正在創建一個處理WooCommerce裝運和交付的Wordpress插件。如何以編程方式設置WooCommerce的裝運量
我想簡單地告訴我的WooCommerce cart(或order),這是什麼運費是。
我曾嘗試直接設置WC()->cart->shipping_amount = $amount;
,
也做在這兩種情況下對車的shipping_amount
保持在0
->add_fee($shippingServiceName, $amount);
。
如何設置運費?
我結束了直接的數量級上,而不是放在車上設置它;
這裏是我創建,並在我的「完成購買」處理中使用的方法:
function addShippingToOrder($order, $shipping_amount, $shipping_name) {
$shipping_tax = array();
$shipping_rate = new WC_Shipping_Rate('', $shipping_name,
$shipping_amount, $shipping_tax,
'custom_shipping_method');
$order->add_shipping($shipping_rate);
}
我還需要保留運輸量,當我在車邏輯,然後當檢索我是在順序邏輯,而我做了一個自定義的車「會話」變量:
WC()->session->set('my_custom_shipping_amount', $amt);
和
WC()->session->get('my_custom_shipping_amount')
這是一個非常簡單的答案,但我花了最長的時間來弄清楚 - 我甚至結束了創建一個插件,特別是用於調試修改WC_Orders:WooCommerce Order Debugger Plugin
嘗試下面的代碼
add_filter('woocommerce_package_rates', 'apply_static_rate', 10, 2);
function apply_static_rate($rates, $package)
{
foreach($rates as $key => $value) {
$rates[$key]->cost = 150; // your amount
}
return $rates;
}
由於某種原因,我不知道...我似乎無法找到'WC() - > cart-> shipping_amount',但只有'WC() - > cart-> shipping_total' – Reigel