Woocommerce で送料無料が利用できる場合、他の配送オプションを非表示にしたいと思います。
woocommerce の最新バージョンでは、無料配送オプションがある場合でも、他の配送オプションが引き続き表示されるためです。
助けてください
Woocommerce で送料無料が利用できる場合、他の配送オプションを非表示にしたいと思います。
woocommerce の最新バージョンでは、無料配送オプションがある場合でも、他の配送オプションが引き続き表示されるためです。
助けてください
WooCommerce 2.6+ 用のこの最近のコード スニペットがあります。あなたが使用できること:
add_filter( 'woocommerce_package_rates', 'hide_other_shipping_when_free_is_available', 100, 2 );
function hide_other_shipping_when_free_is_available( $rates, $package ) {
$free = array();
foreach ( $rates as $rate_id => $rate ) {
if ( 'free_shipping' === $rate->method_id ) {
$free[ $rate_id ] = $rate;
break;
}
}
return ! empty( $free ) ? $free : $rates;
}
woocommerce配送設定で、配送キャッシュデータを更新する必要があります。現在の配送ゾーンに関連する配送方法を無効にし、保存して有効にし、保存します。
WooCommerce 2.5 の場合、これを試してください:
add_filter( 'woocommerce_package_rates', 'hide_shipping_when_free_is_available', 10, 2 );
function hide_shipping_when_free_is_available( $rates, $package ) {
// Only modify rates if free_shipping is present
if ( isset( $rates['free_shipping'] ) ) {
// To unset a single rate/method, do the following. This example unsets flat_rate shipping
unset( $rates['flat_rate'] );
// To unset all methods except for free_shipping, do the following
$free_shipping = $rates['free_shipping'];
$rates = array();
$rates['free_shipping'] = $free_shipping;
}
return $rates;
}
このコードを、アクティブな子テーマまたはテーマにある function.php ファイルに貼り付けます。
参考:送料無料の場合は他の配送方法を非表示にする(公式ドキュメント)
関連している: