2016-07-09 20 views

Antwort

10

Es dieser Ausschnitt für WooCommerce 2.6+ den letzten Code. dass Sie versuchen können:

add_filter('woocommerce_package_rates', 'hide_other_shipping_when_free_is_available', 100, 2); 

function hide_other_shipping_when_free_is_available($rates, $package) { 

    $free = array(); 
    foreach ($rates as $rate_id => $rate) { 
     if ('free_shipping' === $rate->method_id) { 
      $free[ $rate_id ] = $rate; 
      break; 
     } 
    } 
    return ! empty($free) ? $free : $rates; 
} 

Sie müssen Versand im Cache gespeicherten Daten aktualisieren: deaktivieren, speichern und aktivieren, speichern bezogenen Versandmethoden für die aktuelle Versandzone, in WooCommerce Versandeinstellungen.


Für WooCommerce 2.5, sollten Sie versuchen, diese:

add_filter('woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2); 

function hide_shipping_when_free_is_available($rates, $package) { 

    // Only modify rates if free_shipping is present 
    if (isset($rates['free_shipping'])) { 

     // To unset a single rate/method, do the following. This example unsets flat_rate shipping 
     unset($rates['flat_rate']); 

     // To unset all methods except for free_shipping, do the following 
     $free_shipping   = $rates['free_shipping']; 
     $rates     = array(); 
     $rates['free_shipping'] = $free_shipping; 
    } 

    return $rates; 
} 

diesen Code einfügen in der function.php Datei in Ihrem aktiven Kind Thema oder das Thema befindet.


Referenz:

+0

wo soll ich diese Funktion aufrufen? –

+0

Ich werde diese Funktion wie diese add_filter ('woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100); auf Funktion.php? @LoicTheAztec –

+0

Sie müssen es nicht anrufen ... fügen Sie einfach alle Schnipsel in der Datei function.php Ihres aktiven Themas ... Dies wird den Job selbst erledigen. Warum? Weil diese Funktion mit 'woocommerce_package_rates' in woocommerce core verbunden ist ... ** SEE THIS: [Hooks: Aktion und Filter Referenz] (https://docs.woothemes.com/document/hooks/) ** – LoicTheAztec