为了账号安全,请及时绑定邮箱和手机立即绑定

在 WooCommerce 中禁用可下载产品的运输结帐字段

在 WooCommerce 中禁用可下载产品的运输结帐字段

PHP
慕码人8056858 2021-12-24 15:43:11
我知道我可以通过在产品提交表单上选中“虚拟”来自动禁用送货字段,但是如何在 Woocommerce 结帐部分默认禁用可下载产品的送货字段?
查看完整描述

1 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

在以下两种情况下,您可以使用WC_Product条件方法is_downloadable()来定位可下载的产品:


1)。禁用结帐运输字段


add_filter( 'woocommerce_cart_needs_shipping_address', 'filter_cart_needs_shipping_address_callback' );

function filter_cart_needs_shipping_address_callback( $needs_shipping_address ){

    // Loop through cart items

    foreach ( WC()->cart->get_cart() as $item ) {

        if ( $item['data']->is_downloadable() ) {

            $needs_shipping_address = false;

            break; // Stop the loop

        }

    }

    return $needs_shipping_address;

}

2)。完全禁用运输(运输方式和运输字段)


add_filter( 'woocommerce_cart_needs_shipping', 'filter_cart_needs_shipping_address_callback' );

function filter_cart_needs_shipping_address_callback( $needs_shipping ){

    // Loop through cart items

    foreach ( WC()->cart->get_cart() as $item ) {

        if ( $item['data']->is_downloadable() ) {

            $needs_shipping = false;

            break; // Stop the loop

        }

    }

    return $needs_shipping;

}

代码位于活动子主题(或活动主题)的 function.php 文件中。测试和工作。


提醒:要在 Woocommerce 中隐藏“运送到不同地址”,我们只需使用:


add_filter( 'woocommerce_cart_needs_shipping_address', '__return_false');


查看完整回答
反对 回复 2021-12-24
  • 1 回答
  • 0 关注
  • 139 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信