如何禁用 WooCommerce 预订产品的运输结帐字段

Mar*_* I. 4 php wordpress woocommerce hook-woocommerce woocommerce-bookings

我知道我可以通过在产品提交表单上选中“虚拟”来自动禁用送货字段 - 但如何在默认情况下禁用 Woocommerce 预订产品结账时的送货字段(对于“预订”产品类型)?

Loi*_*tec 5

当购物车中存在特定产品类型(此处为“预订”产品类型)时,以下内容将禁用结帐运输字段时,以下内容将禁用结帐运输字段:

\n
add_filter( 'woocommerce_cart_needs_shipping_address', 'filter_cart_needs_shipping_address_callback' );\nfunction filter_cart_needs_shipping_address_callback( $needs_shipping_address ){\n    // Loop through cart items\n    foreach ( WC()->cart->get_cart() as $item ) {\n        if ( $item['data']->is_type('booking') ) {\n            $needs_shipping_address = false;\n            break; // Stop the loop\n        }\n    }\n    return $needs_shipping_address;\n}\n
Run Code Online (Sandbox Code Playgroud)\n

代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。

\n
\n
\n

提醒:要在 Woocommerce 中隐藏 \xe2\x80\x9cShip 到不同的地址 \xe2\x80\x9d,我们只需使用:

\n
add_filter( 'woocommerce_cart_needs_shipping_address', '__return_false');\n
Run Code Online (Sandbox Code Playgroud)\n
\n