2015-12-22 6 views
5

Der folgende Code freies Verschiffen für ein bestimmtes Produkt ermöglicht geben:WooCommerce Kasse wie freies Verschiffen für eine bestimmte Adresse

function wcs_my_free_shipping($is_available) { 
    global $woocommerce; 

    // set the product ids that are eligible 
    $eligible = array('360'); 

    // get cart contents 
    $cart_items = $woocommerce->cart->get_cart(); 

    // loop through the items looking for one in the eligible array 
    foreach ($cart_items as $key => $item) { 
     if(in_array($item['product_id'], $eligible)) { 
      return true; 
     } 
    } 

    // nothing found return the default value 
    return $is_available; 
    } 
    add_filter('woocommerce_shipping_free_shipping_is_available', 'wcs_my_free_shipping', 20); 

Was Ich mag würde, ist freies Verschiffen nicht für ein Produkt erlauben, aber für eine bestimmte Straße und Postleitzahl Kombination in der Lieferadresse. Ich habe herausgefunden, wie man dies für einen angemeldeten Benutzer überprüft, aber ich kann nicht die richtigen Variablen finden, die diese Informationen beim Checkout haben. Jede Hilfe würde sehr geschätzt werden.

Vielen Dank im Voraus, -Ben

+0

Änderung mit Ihrer Logik anwenden die der Überprüfung Adresse. 'return true' bedeutet, dass es ein kostenloser Versand ist. – Reigel

Antwort

0

Es gibt Versandzonen bereits in WooCommerce verfügbar. Für jede spezifische Zone können Sie die Versandmethode "Flatrate" oder "Kostenloser Versand" wählen. Sie können es unter Woocommerce-> Einstellungen überprüfen. Registerkarte "Versand"

Screenshot for shipping tab

0

Ja, Sie können, gibt es einen zusätzlichen Parameter, den Sie in diesem Haken Namen $ Paket passieren kann.
für zB.

add_filter('woocommerce_shipping_free_shipping_is_available', 'wcs_my_free_shipping', 20,2); 

function wcs_my_free_shipping($is_available, $package){ 
//Your code for free shipping for a selected address found in $package 
return $is_available 
} 

$ -Paket enthält die Adresse, die Sie so eingegeben Sie diese verwenden können, freies Verschiffen für ausgewählte Postleitzahlen oder Straßen der `foreach() {}`

Verwandte Themen