Wordpress woocommerce - скрыть другой способ доставки, когда доступна фиксированная ставка

Легко найти, как скрыть другие способы доставки, когда доступна бесплатная доставка. Но я хотел бы скрыть другие способы доставки, когда доступна фиксированная ставка (у меня есть другие способы доставки).

Не могли бы вы помочь?

С уважением


person eds    schedule 05.06.2016    source источник


Ответы (1)


Приведенный ниже код изменен с эта статья:

add_filter('woocommerce_package_rates', 'xa_hide_shipping_rates_when_flat_rate_is_available', 10, 2);
function xa_hide_shipping_rates_when_flat_rate_is_available($rates, $package) {
    global $woocommerce;
    $version = "2.6";
    if (version_compare($woocommerce->version, $version, ">=")) {
        foreach($rates as $key => $value) {
            $key_part = explode(":", $key);
            $method_title = $key_part[0];
            if ('flat_rate' == $method_title) {
                $flat_rate_shipping = $rates[$key];
                // Unset all rates.
                $rates = array();
                // Restore flat rate shipping rate.
                $rates[$key] = $flat_rate_shipping;
                return $rates;
            }
        }
    }
    else {
        if (isset($rates['flat_rate'])) {
            // Below code is for unsetting single shipping method/option.
            $flat_rate = $rates['flat_rate'];
            // Unset all rates.
            $rates = array();
            // Restore flat rate shipping rate.
            $rates['flat_rate'] = $flat_rate;
        }
    }

    return $rates;
}

Я не уверен, какую версию WooCommerce вы используете, но я тестировал версию 2.6, но не предыдущие версии.

person janeojy    schedule 22.06.2016
comment
Треклятый. Я так и не пришел и не увидел никаких предупреждений о вашем ответе. Мне очень жаль, и большое спасибо за вашу помощь. Мне, наконец, удалось по-другому управлять методами доставки для этого проекта. С Уважением - person eds; 24.11.2016