wordpress woocommerce(2.6.9)覆盖运费

时间:2017-05-23 19:10:17

标签: php wordpress woocommerce shipping

我需要在结账时从外部系统动态获取运费。我已经访问了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 );

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 );