У меня есть категория для показа доставки на виртуальных товарах.В основном у меня есть продукты, с которых я не хочу взимать плату за доставку, и я имею их в категории под названием подарки ... но я все еще хочу адрес доставки.Проблема в том, что когда я использую фильтр категорий, который я построил, он не сохранит адрес в порядке ... если я просто использую ...
add_filter( 'woocommerce_cart_needs_shipping_address', '__return_true', 50 );
Он прекрасно работает ...
Но когда я надену ворота ... он не сохранит значения ... вот ворота ...
//gifts filter
function HDM_gift_shipping() {
// set our flag to be false until we find a product in that category
$cat_check = false;
// check each cart item for our category
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$product = $cart_item['data'];
// if cat matches gift return true
if ( has_term( 'gift', 'product_cat', $product->id ) ) {
$cat_check = true;
// break because we only need one "true" to matter here
break;
}
}
// if a product in the cart is in our category, do something
if ( $cat_check ) {
add_filter( 'woocommerce_cart_needs_shipping_address', '__return_true', 50 );
}
}
add_action('woocommerce_before_checkout_billing_form', 'HDM_gift_shipping', 100);