Woocommerce — добавьте фильтр для отображения (или скрытия) настраиваемого поля оформления заказа, если идентификатор продукта == #

Я создал текстовое поле my_custom_field в качестве имени по умолчанию billing_first_name, billing_address и т. Д. Теперь я хотел бы скрыть это поле, если идентификатор продукта находится в корзине.
Итак, мне нужно проверить, если productID == #, и удалить из поля my_custom_field.

В противном случае (может быть, лучше?), Я мог бы проверить, если productID == #, и создать настраиваемое поле для этого конкретного идентификатора (или, возможно, категории).
Что ты предлагаешь?

0

Решение

Вы можете попробовать это, чтобы адаптироваться к вашим пользовательским полям и идентификаторам продуктов

add_filter( 'woocommerce_checkout_fields' , 'custom_override_checkout_fields' );

function custom_override_checkout_fields ( $fields ){

if ( count( WC()->cart->get_cart() ) == 0 ) {
return $fields;
}

foreach ( WC()->cart->get_cart() as $key => $item ) {
if( in_array( $items[ 'product_id' ], array('1','2','3') ) ){
unset( $fields[ 'my_custom_field' ] );
break;
}
}

return $fields;
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]