質問: 特定の商品によるwoo commerceでの無料配送の有効化 特定の商品(または特定のカテゴリ/配送クラスの商品)がカートに含まれている場合にのみ、woo commerceで無料配送を有効にできるかどうかを知りたいです。送料無料オプションはカートの値に基づいて、またはクーポンコードによってのみ有効になるので、私は均一料金の出荷を調査し、それがより安いものよりも最も高価な出荷クラスを優先することを発見しました。これは私が作成した送料無料クラスがデフォルトの料金を上書きすることは決してないことを意味します。私はこの背後にある論理を理解していますが、それは私が必要としていることとは反対です。私が達成しようとしていることがwoo commerce内では不可能なのかどうかはわかりません。特定の商品/カテゴリにのみ適用されるクーポンが私が得ることができる最も近いように思えますが、私はむしろチェックアウト時にコードを入力することをユーザーに強制したくありません。特定の製品を購入するユーザーに無料配送を提供するためのより簡単な方法があるかどうか、誰かが知っていますか?
回答: kaiserのコード(上記)に基づいて、私は以下のコードを作成しました。 /** * hide free shipping option when standard shipping is available * * @param array $available_methods */ function mwe_hide_free_shipping_when_standard_shipping_is_available($available_methods) { // remove standard shipping option if (isset($available_methods['free_shipping']) and isset( $available_methods['flat_rate'])) { unset($available_methods['free_shipping']); } return $available_methods; } add_filter('woocommerce_available_shipping_methods', 'mwe_hide_free_shipping_when_standard_shipping_is_available'); そして、woocommerceを設定する順番で、woo shipping optionsでfree shippingとflat rateの両方が有効になります。それから、配送クラスを設定し、定額オプションページでそのコスト(例:7.95ポンド)を指定して、その配送クラスを7.95ポンドのp&pを請求する製品に追加します。