add_filter('woocommerce_package_rates', 'free_shipping_for_specific_products', 10, 2); function free_shipping_for_specific_products($rates, $package) { $specific_product_ids = array(1, 2, 3); // IDs der Produkte, für die kostenloser Versand aktiviert werden soll $is_free_shipping = false; foreach ($package['contents'] as $item) { if (in_array($item['product_id'], $specific_product_ids)) { $is_free_shipping = true; break; } } if ($is_free_shipping) { foreach ($rates as $rate_id => $rate) { if ('free_shipping' === $rate->method_id) { $rates[$rate_id]->cost = 0; break; } } } return $rates; }