Итак, у меня есть несколько настраиваемых полей в разделе выставления счетов на странице оформления заказа, которые я хочу отображать только в том случае, если в корзине есть продукт с идентификатором (603).
В настоящее время мой код ниже работает дляскрыть поля, если в корзине есть товар с идентификатором 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' );