Woocommerce:如果订单总额为零,隐藏“本地取货”运输选项

问题描述 投票:0回答:1

如果订单总额为零,我想隐藏 woocommerce 运输选项中的“本地提货”选项。

这些是我当前的选择: https://snipboard.io/HEdFev.jpg

找到了一个专业插件,但它超出了我的需要 - 更喜欢简单的代码片段而不是插件。我很高兴能捐款一点!

php wordpress woocommerce checkout shipping-method
1个回答
0
投票

根据此相关答案,如果购物车内容总数为零,您可以使用以下内容隐藏“本地取货”运输选项:

add_filter( 'woocommerce_package_rates', 'hide_local_pickup_for_free_orders', 10, 2 );
function hide_local_pickup_for_free_orders( $rates, $package ) {
    // If cart subtotal is equal to zero
    if( $package['contents_cost'] == 0 ) {
        foreach( $rates as $rate_key => $rate ) {
            // Hide Local Pickup shipping method(s)
            if ( $rate->method_id === 'local_pickup' ) {
                unset($rates[$rate_key]);
            }
        }
    }
    return $rates;
}

代码位于子主题(或任何插件)的functions.php 文件中。已测试并有效。

重要提示: 要刷新运送方式缓存,请清空您的购物车。

© www.soinside.com 2019 - 2024. All rights reserved.