Speci c варианты доставки на основе продуктов или категорий в WooCommerce - PullRequest
0 голосов
/ 10 апреля 2020

Я не очень хорошо говорю по-английски sh. Я пытался объяснить как можно больше.

Установлены две зоны доставки. Я надеюсь, что вторые зоны доставки будут установлены только в специальном продукте.

Я пытался ссылаться на этот код.

Однако, это не удалось.

Есть ли другой способ ?

add_filter( 'woocommerce_package_rates', 'product_category_hide_shipping_methods', 90, 2 );
function product_category_hide_shipping_methods( $rates, $package ){

// HERE set your product categories in the array (IDs, slugs or names)
$categories = array('edencare');
$found = false;
//$zone = WC_Shipping_Zones::get_zone_by( 'zone_id', 4 );
//echo $zone;

// Loop through each cart item Checking for the defined product categories
foreach( $package['contents'] as $cart_item ) {
    if ( has_term( $categories, 'product_cat', $cart_item['product_id'] ) ){
        $found = true;
        break;
    }
}

$rates_arr = array();
if ( $found ) {
    foreach($rates as $rate_id => $rate) { 
        if ('local_pickup' === $rate->method_id) {
            $rates_arr[ $rate_id ] = $rate;
        }
    }
}
return !empty( $rates_arr ) ? $rates_arr : $rates;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...