我需要在结账时从外部系统动态获取运费。我已经访问了api并且在变量中有成本,现在想要“覆盖”来自这些新的woocommerce的成本。
我正在挂进woocommerce_package_rates钩子,但似乎无法让它工作。在下面的示例中,为了简单起见,我刚刚将变量换成了数字(100)。有什么想法吗?
function flat_rates_cost( $rates, $package ) {
if ( isset( $rates['flat_rate:5'] ) ) {
$rates['flat_rate:5']->cost = 100;
}
return $rates;
}
add_filter( 'woocommerce_package_rates', 'flat_rates_cost', 10, 2 );
答案 0 :(得分:0)
我可以将article与完全相同的情景联系起来。如果您阅读该文章,它将描述如何根据您自己的逻辑更改统一费率。
答案 1 :(得分:0)
function flat_rates_cost( $rates, $package ) {
foreach($rates as $key => $rate){
// Put your desired slug here for API service
if($rate->method_id == 'flat_rate'){
// modify the value here
$rates[$key]->cost = 25;
}
}
return $rates;
}
add_filter( 'woocommerce_package_rates', 'flat_rates_cost', 10, 2 );