add_filter('woocommerce_package_rates', 'custom_shipping_costs', 10, 2);
function custom_shipping_costs($rates, $package) {
    $cart_total = WC()->cart->get_cart_contents_total();

    if ($cart_total > 100) {
        foreach ($rates as $rate_id => $rate) {
            if ('flat_rate' === $rate->method_id) {
                $rates[$rate_id]->cost = 0; // Kostenloser Versand, wenn der Warenkorbwert über 100 liegt
            }
        }
    }

    return $rates;
}