2015-12-22 15 views
5

belirli bir adresi ücretsiz kargo vermek: Yapmak istiyorum neWooCommerce çıkış nasıl Aşağıdaki kod belirli bir ürün için ücretsiz nakliye sağlayacak

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); 

bir ürün için değil ücretsiz nakliye izin, ancak teslimat adresindeki belirli bir sokak ve posta kodu kombinasyonu için. Oturum açmış bir kullanıcı için bunu nasıl kontrol edeceğimi öğrendim, ancak bu bilgileri ödeme sırasında doğru değişkenleri bulamıyorum. Herhangi bir yardım büyük takdir edilecektir. peşin

sayesinde -Ben

+0

değişiklik 'foreach() {}' ücretsiz kargo uygulamak için kullanabilir içeren adres. '' return true '', ücretsiz gönderim anlamına gelir. – Reigel

cevap

0

zaten WooCommerce mevcut Nakliye bölgeleri vardır. Her belirli bölge için gönderim yöntemini "Düz oran" veya "Ücretsiz Kargo" olarak ayarlayabilirsiniz. Woocommerce-> Ayarlar altında kontrol edebilirsiniz. Gönderim sekmesini bulun.

Screenshot for shipping tab

0

yapabilirsiniz Evet, bu kanca isimleri $ paketi içine geçebilir ekstra bir parametre yoktur. Örneğin,
.

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 
} 

$ paketi Girdiğiniz adres böylece kontrol etme gibi mantığı ile seçilen Posta kodları veya sokakların

İlgili konular