Only free shipping

<?php 

// bomendael
add_filter('woocommerce_package_rates', function($rates) {
  $free = array();
  foreach ($rates as $rate_id => $rate) {
    if ('free_shipping' === $rate->method_id) {
      $free[ $rate_id ] = $rate;
      break;
    }
  }
  if(!empty($free)) {
    foreach ($rates as $rate_id => $rate) {
        if ('local_pickup' === $rate->method_id) {
            $free[ $rate_id ] = $rate;
        }
    }
  }
  return ! empty($free) ? $free : $rates;
}, 100);
Last Updated:
Contributors: Niek Vlam, Suite Seven