2017-02-21 11 views
0

У меня возникла небольшая проблема, пытаясь установить бесплатную доставку в последнюю Woocommerce (2.6.x), если выполняются определенные условия.WordPress бесплатная доставка, если страна и платежный шлюз

Клиент хочет установить бесплатную доставку, если выбрана «наложенным платежом», цена превышает X €, а определенная страна выбрана.

Я пытался найти множество фрагментов, которые я нашел, но ничего не работает. Я не хочу использовать слишком много плагинов (уже есть немало).

мне нужно что-то вроде:

if ($country == 'DE' && $cart_total >= 100 && $payment_gateway == 'cod') { 
    $shipping == 0; 
} 

Спасибо за ответы на все вопросы заранее,
Юре

ответ

0

Я использую Table Rate Shipping for WordPress и я нашел решение на мой вопрос. Отсутствует проверка способа оплаты, но этого не должно быть так сложно найти. На всякий случай кто-то найдет это полезным.

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

function sl_custom_shipping_rates($rates, $package) { 

    foreach($rates as $key => $value) { 

     if($value->method_id == 'table_rate_shipping' && WC()->cart->cart_contents_total >= 100 && WC()->customer->get_shipping_country() == "DE") { 
      $rates[ $key ]->cost = 100; 
     } 
    } 

    return $rates; 
}