所以我在结帐页面的结算部分有一些自定义字段,我只想显示ID为(603)的产品是否在购物车中 .
目前,如果购物车中的产品不是id 603,我的代码可以隐藏字段,但有一个问题是当我有603而另一个产品在购物车中取消了字段时,
如果603不在购物车中或者仅显示它们,那么隐藏字段的最佳方法是什么?
这是我正在使用的当前代码
function conditional_checkout_fields_products( $fields ) {
$cart = WC()->cart->get_cart();
foreach ( $cart as $item_key => $values ) {
$product = $values['data'];
if ( $product->id != 603 ) {
unset( $fields['billing']['billing_prev_injuries'] );
unset( $fields['billing']['billing_dogs_events'] );
unset( $fields['billing']['billing_dogs_age'] );
unset( $fields['billing']['billing_dogs_breed'] );
unset( $fields['billing']['billing_dogs_name'] );
}
}
return $fields;
}
add_filter( 'woocommerce_checkout_fields', 'conditional_checkout_fields_products' );
1 回答
以下将完成这项工作:
代码位于活动子主题(或活动主题)的function.php文件中 . 经过测试和工作 .