我正在创建一个处理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