Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save jswebschmiede/d80a849eda68cbf7e2990b78fe6e3417 to your computer and use it in GitHub Desktop.

Select an option

Save jswebschmiede/d80a849eda68cbf7e2990b78fe6e3417 to your computer and use it in GitHub Desktop.

Revisions

  1. @woogists woogists revised this gist May 11, 2018. No changes.
  2. @woogists woogists revised this gist Mar 12, 2018. No changes.
  3. @woogists woogists created this gist Mar 12, 2018.
    18 changes: 18 additions & 0 deletions wc-hide-all-shipping-if-free-shipping-is-available.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,18 @@
    /**
    * Hide shipping rates when free shipping is available.
    * Updated to support WooCommerce 2.6 Shipping Zones.
    *
    * @param array $rates Array of rates found for the package.
    * @return array
    */
    function my_hide_shipping_when_free_is_available( $rates ) {
    $free = array();
    foreach ( $rates as $rate_id => $rate ) {
    if ( 'free_shipping' === $rate->method_id ) {
    $free[ $rate_id ] = $rate;
    break;
    }
    }
    return ! empty( $free ) ? $free : $rates;
    }
    add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );