如果订单总数为零,我想隐藏WooCommerce发货选项中的"本地提货"选项.

以下是我当前的选项:

enter image description here

我找到了一个专业的插件,但它超过了我的需要.我更喜欢一个简单的代码片段,而不是插件.

推荐答案

基于this related answer,如果购物车内装物品总数为零,您可以使用以下选项来隐藏"本地提货"发货选项:

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

代码位于您的子主题的unctions.php文件中(或在插件中).经过测试,效果良好.

如果刷新运输方法缓存,则为Important note:,为empty your cart.

Php相关问答推荐

在不刷新页面的情况下无法使用JQuery更新id

419注册期间Laravel 11中的错误

PHP,ZipArchive删除一个空文件?

多行PHP属性声明中是否允许单行注释

通过访问单个产品页面更新WooCommerce产品元数据

PHP MySQL求和子树并与父树累加

在冲突和几何上插入的Postgres参数化查询在PHP中不起作用

Symfony5:如何在不登录的情况下使API路由可访问?

从AJAX响应中获取一个未定义的html

FlySystem v3:使用本地适配器时出现问题

如何在UML类图中可视化变量引用数组

哪里的表现能更好?

Wordpress,配置一周第一天选项

在 PHP MySQL 中自动生成账单编号

如何在 PHP 中以 hh:mm:ss 格式获取两个 strtotime datetime/s 之间的时间差

PHP访问子数组列表出错结果和长度

有没有办法获取触发流操作的页面的 URI?

如何更新 Laravel Eloquent 列强制转换为集合

在 Botiga 主题模板中添加复选框到政策行.Woocommerce

Laravel 查询关系是否为 bool