我有两种统一费率(统一费率:1 和统一费率:2)我想在选择“统一费率:2”送货方式时隐藏 WooCommerce 中的“送货地址”感谢页面。
试图使用基于 WooCommerce - Hide shipping address when local pickup is chosen on thankyou page 的东西,但我卡住了。
谁能提供一些如何实现这一目标的提示?
Woocommerce 5.1.0
答案 0 :(得分:1)
更新
您可以使用这个简单的代码片段,根据特定定义的送货方式在订单中隐藏送货地址:
add_filter( 'woocommerce_order_needs_shipping_address', 'filter_order_needs_shipping_address', 10, );
function filter_order_needs_shipping_address( $needs_address, $hide, $order ) {
// Here set your shipping method instance Ids
$targeted_instances_ids = array( 1, 2 );
// Loop through "shipping" order items
foreach ( $order->get_items('shipping') as $item ) {
if( in_array( $item->get_instance_id(), $targeted_instances_ids ) ) {
return false;
}
}
return $needs_address;
}
代码位于活动子主题(或活动主题)的functions.php 文件中。经测试有效。
注意:配送实例 ID 是配送方式费率 ID 中 :
之后的数字。
因此,例如对于 flat rate:2
,运输实例 ID 为 2
。