WooCommerceで送料無料設定時訪問受領オプションの問題

このブログの前の記事で WordPress WooCommerce ショッピングモールで送料無料を利用できる場合に、他の送料を隠す方法を説明したことがあります。

リンクされた記事に記載されている方法を使用すると、無料配送が利用可能な場合、無料配送を除くすべての配送料は表示されません。 ただし、「訪問受付」を選択した場合、無料の「訪問受付」オプションも表示されない問題が発生します。

この場合、次のコードを使用すると、無料配送が利用可能な場合でも、「訪問受付」オプションが一緒に表示されます。

// Hide shipping rates when free shipping is available except Local Pickup
// WooCommerce에서 무료배송을 이용할 수 있는 경우 방문 수령을 제외한 모든 배송비 숨기기
function woocommerce_hide_shipping_when_free_is_available($rates) {
	$free = array();
	foreach ($rates as $rate_id => $rate) {
		if ('free_shipping' === $rate->method_id) {
			foreach($rates as $rate_id => $rate) {
            if ('flat_rate' === $rate->method_id )
                unset($rates[ $rate_id ]);
        }
			break;
		}
	}
	return !empty( $free ) ? $free : $rates;
}
add_filter('woocommerce_package_rates', 'woocommerce_hide_shipping_when_free_is_available', 100);

上記のコードは、最新の WooCommerce バージョンでもうまく動作するかどうかは確認していません。 しばらくはうまく動作すると思われるが、最新のWooCommerceバージョンで正常に動作していない場合は、正常に動作しているコードをお知らせいただければ文を更新するようにします。

精巧に送料を設定したい場合 pluginhiveという会社が開発した WooCommerceテーブルレートシッピングプロ Pluginを使用してみることができます。 現在、6000以上のサイトに設置されて使用されており、お客様の評価も非常に高いです。

配送クラスを活用すれば、商品グループごとに送料を指定することができます。 WooCommerce 配送クラスの設定について詳しくは、「WooCommerce 配送クラスを使用する(商品グループ別送料を指定)「を参考にしてください。

メモ:

一部の記事にはアフィリエイトリンクが含まれている場合があり、パートナーの活動で一定額の手数料を受け取ることがあります。

2のコメント

    1. こんにちは、kyounakim様。

      前のコメントで教えてたように、私はテストをしてみると、エラーは発生しませんが、最新の WooCommerce バージョンでは、これ以上このコードを使用する必要がないようです。

      最近Woocommerceバージョンでは無料送料が可能な場合に、固定の送料が表示されてバグが修正されたものに見えます。 さらに、このコードを使用しない WooCommerce 基本的な機能をそのまま使用してください。

コメントを残す

*電子メール情報は公開されません。