WooCommerce - 覆盖运费

Posted

技术标签:

【中文标题】WooCommerce - 覆盖运费【英文标题】:WooCommerce - Override Shipping Cost 【发布时间】:2014-02-04 12:13:40 【问题描述】:

我正在为 WooCommerce 构建一个插件,允许管理员设置每个客户的统一运费。我正在尝试使用计算运费的函数,以便我可以覆盖计算的价格和方法,并只返回一个为该客户预设价格的运费选项。我可以使用什么钩子来完成此操作?

我认为它可能是woocommerce_calculated_shipping 钩子,但我找不到如何使用它的好例子。

【问题讨论】:

你应该选择答案。 【参考方案1】:

这可能是一个迟到的答案,但如果其他人需要它:

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 瞬态函数缓存费率。因此,当您进行测试时,请确保更改商品数量,以便正确更新包裹费率,或者您可以在每次刷新时清空购物车:)

【讨论】:

这行得通!这是这个问题的正确答案。

以上是关于WooCommerce - 覆盖运费的主要内容,如果未能解决你的问题,请参考以下文章

WooCommerce 运费计算器 (shipping-calculator.php) - PHP 覆盖 - 仅限邮政编码

woocommerce - 根据地址字段更新运费

在 Woocommerce 的 Paypal 插件中转换运费

在 WooCommerce 中更改订单运费总额

在 Woocommerce 3 中以编程方式设置自定义运费

在产品页面上显示运费 - WooCommerce