Следующий код работает с категорией «наклейки», но предлагает бесплатную доставку, если в корзине есть как минимум 5 товаров из категории «наклейки» и товары из других категорий:
Код: Выделить всё
function filter_woocommerce_shipping_free_shipping_is_available( $is_available, $package, $shipping_method ) {
/* SETTINGS free shipping TOTEBAG ONLY */
// Set categories
$specific_categories = array ( 'stickers' );
// Set minimum
$minimum = 5;
/* END settings */
// Counter
$count = 0;
// Loop through cart items
foreach( $package['contents'] as $cart_item ) {
// If product categories is found
if ( has_term( $specific_categories, 'product_cat', $cart_item['product_id'] ) ) {
$count += $cart_item['quantity'];
}
}
// Condition
if ( $count >= $minimum ) {
$notice = __( 'Free Shipping', 'woocommerce' );
$is_available = true;
} else {
$notice = __( 'NO Free Shipping', 'woocommerce' );
$is_available = false;
}
// Display notice
if ( isset( $notice ) ) {
wc_add_notice( $notice, 'notice' );
}
// Return
return $is_available;
}
add_filter( 'woocommerce_shipping_free_shipping_is_available', 'filter_woocommerce_shipping_free_shipping_is_available', 10, 3 );
Подробнее здесь: https://stackoverflow.com/questions/788 ... exclusivel