更新:
add_filter('woocommerce_package_rates', 'custom_free_shipping_option', 15, 2);
function custom_free_shipping_option($rates, $package){
// HERE set the "minimum order amount" for free shipping
$limit = 500;
$free_total = 0;
// Get the cart content total excluding virtual products
foreach(WC()->cart->get_cart() as $cart_item)
if(! $cart_item['data']->is_virtual())
$free_total += $cart_item['line_total'];
// Set the cost to 0 based on specific cart content total
if($free_total > $limit)
foreach ($rates as $rate_key => $rate)
if('pakkelabels_shipping_gls' === $rate->method_id)
$rates[$rate->id]->cost = 0;
return $rates;
}
コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイルやも任意のプラグインファイルになります。
あなたの特定の発送方法で動作するはずです。
オリジナルの答え(古典的な「送料無料」メソッドの):
ここでは、仮想製品を除く配送方法無料配信「最小注文量」オプションを置き換えます必要なコードです:
add_filter('woocommerce_package_rates', 'custom_free_shipping_option', 10, 2);
function custom_free_shipping_option($rates, $package){
// HERE set the "minimum order amount" for free shipping
$limit = 500;
$free_total = 0;
// Get the cart content total excluding virtual products
foreach(WC()->cart->get_cart() as $cart_item)
if(! $cart_item['data']->is_virtual())
$free_total += $cart_item['line_total'];
// Disabling free shipping method based on specific cart content total
if($free_total < $limit)
foreach ($rates as $rate_key => $rate)
if('free_shipping' == $rate->method_id)
unset($rates[ $rate_key ]);
return $rates;
}
コードは、あなたのアクティブな子テーマ(またはテーマ)のfunction.phpファイル、またはすべてのプラグインファイルに入ります。
テストおよび
だからあなたも無料配信設定でこのオプションを削除することができます取り組んでいます。
- 私のせいです。私たちは、WooCommerce無料配送オプションを使用しません。私たちは3種類の配送(店舗、家庭、ビジネス)のプラグインを持っています。 500以上を支払うと、最初のオプションは無料配送になります。これはすでに動作していますが、現在は仮想製品を追加することができます。おそらく上記のコードはそれが関連している特定の配送オプションを使用する必要がありますか? 500以上の支出で無料配送を提供する配送オプションの値/名前は、pakkelabels_shipping_gls1です。どういうわけか、仮想製品をこれに数えないように除外するだけです。 – eMikkelsen
もちろん、私はそうするでしょう、それは多くの人々を助けるでしょう。これで完了です。送信した新しいコードはまだ動作しません。このプラグインで動作させる方法はありますか?それはデンマークの全員の90%がPakkelabelsと呼ばれているので、むしろ便利です。私は、追加のID、価値、必要な情報を提供することができます。 – eMikkelsen
さらに調査した後。あなたのコードはオプションを完全に削除しますが、その部分だけを変更するだけではありません。基本的にそれは次のようなものです:ショップへの配送は49です。あなたが499を支払うと、それは無料です。ここではギフトカードが499にカウントされないようにする必要があります。 – eMikkelsen