Стоимость доставки применяется только в том случае, если в WooCommerce используется определенный купон - PullRequest
1 голос
/ 08 марта 2019

Мне нужно создать 2000 купонов для продажи, но я бы хотел, чтобы клиенты, которые будут их использовать, всегда платили за доставку.В настоящее время порог для получения бесплатной доставки установлен выше 69 €.Я попытался использовать приведенный ниже код (взято отсюда: Примененные купоны отключают бесплатную доставку условно в Woocommerce ).

Это относится ко всем купонам, и я хотел бы применить его только к купонам с префиксом 'pd'.

add_filter( 'woocommerce_package_rates', 'coupons_removes_free_shipping', 10, 2 );
function coupons_removes_free_shipping( $rates, $package ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return $rates;

$applied_coupons = WC()->cart->get_applied_coupons();

if( sizeof($applied_coupons) > 0 ) {
    // Loop through shipping rates
    foreach ( $rates as $rate_key => $rate ) {
        // Targeting "Free shipping" only
        if( 'free_shipping' === $rate->method_id  ) {
            unset($rates[$rate_key]); // Removing current method
        }
    }
}
return $rates;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...