我正在为WooCommerce构建一个插件,允许管理员设置每个客户的统一费率运费。我试图挂钩计算运费的函数,以便我可以覆盖计算的价格和方法,并返回一个具有该客户预设价格的运费选项。我可以用什么钩来实现这个目标?
我认为它可能是woocommerce_calculated_shipping
钩子,但我找不到如何使用它的好例子。
答案 0 :(得分:13)
这可能是一个迟到的答案,但如果其他人需要它:
add_filter('woocommerce_package_rates','test_overwrite_fedex',100,2);
function test_overwrite_fedex($rates,$package) {
foreach ($rates as $rate) {
//Set the price
$rate->cost = 1000;
//Set the TAX
$rate->taxes[1] = 1000 * 0.2;
}
return $rates;
}
Woocommerce使用wordpress transient功能缓存这些费率。因此,当您进行测试时,请确保更改项目数量以便正确更新包裹费率,或者每次刷新时都可以清空购物车:)