在免费送货时,很容易找到隐藏其他送货方式的方法。但是,当统一费率可用时,我想隐藏其他送货方式(我有自定义其他方法)。
你能帮帮忙吗?
问候
答案 0 :(得分:2)
以下代码是从this article修改的:
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版本,但未测试之前的版本。