【问题标题】:Show only one Shipping rate based on cart amount根据购物车金额仅显示一种运费
【发布时间】:2017-12-11 16:12:21
【问题描述】:

在 WordPress 中使用 Woocommerce
我正在尝试找到一种使用 2 种运费的方法:
如果客户订单少于 n 数量,则运费为标准 x 数量
如果客户订单超过 n 数量,则运费减少到 x 数量
如果订单符合减运费条件,我还需要隐藏标准。

目前,如果订单符合减运费条件,woocommerce 会显示两种运费

请问有什么办法可以解决这个问题吗?

谢谢

【问题讨论】:

  • 您是否尝试过我的答案代码......只是想知道一些反馈。谢谢

标签: php wordpress woocommerce cart shipping


【解决方案1】:

这是一个挂在 woocommerce_package_rates 动作钩子中的自定义函数,它将根据购物车数量限制仅显示一个运费:

add_filter( 'woocommerce_package_rates', 'hide_sshipping_rate_based_on_cart_amount', 100 );
function hide_sshipping_rate_based_on_cart_amount( $rates ) {

    // HERE define the limit amount to switch of shipping rate (integer)
    $amout_limit = 600;
    // Cart total amount (integer)
    $cart_total = WC()->cart->cart_contents_total;

    // Set below your 2 Rate ID slugs
    if( $cart_total >= $amout_limit )
        unset( $rates['flat_rate:12'] ); // Removes the LOWER Rate 
    else
        unset( $rates['flat_rate:8'] ); // Removes the HIGHER Rate

    return $rates;
}

代码进入您的活动子主题(或主题)的 function.php 文件或任何插件文件中。

【讨论】:

  • 嗨 Loic 对不起,我确实尝试过,但没有奏效。我最终找到了一个允许 2 笔运费的插件,现在只是想找到一种方法,我们可以将国家分成两部分,但使用相同的国家代码。示例英格兰 (GB) 苏格兰 (GB)
  • 您在哪个 woocommerce 版本上这样做?这真的很有效。您只需设置 2 个正确的 slug 即可获得更低和更高的费率……如果需要,您可以通过 Skype 聊天与我联系(我的 ID 是 marsloic)……
猜你喜欢
  • 1970-01-01
  • 2020-10-18
  • 2019-04-21
  • 2013-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-29
相关资源
最近更新 更多