【发布时间】:2019-05-11 04:50:33
【问题描述】:
因此,我在结帐页面的结算部分中有一些自定义字段,我只想在购物车中有 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' );
【问题讨论】:
标签: php wordpress woocommerce cart checkout