Great question — answering as the UphillTech team:
I found a solution, it isn't exactly what I wanted but it works. What I did was change the cart weight to anything over 300 pounds unset the FedEx shipping options. Then unset FedEx shipping options for the freight shipping class. Which still left the freight shipping option visible on non-freight items, which I hid using CSS. I am still open for a better way to do this. So if you have suggestions please send them my way. Below is what I ended up doing. add_filter( 'woocommerce_package_rates', 'bbloomer_woocommerce_tiered_shipping', 10, 2 ); function bbloomer_woocommerce_tiered_shipping( $rates, $package ) { if ( WC()->cart->cart_contents_weight < 300 ) { if ( isset(...
Full answer by epetersen: https://stackoverflow.stackexchange.com/a/51502790 (CC BY-SA 4.0).
Need it done for your business? UphillTech.