Woocommerce で商品の合計金額が一定以上の時に特定の支払い方法を無効にする方法。
例えば合計金額3万円以上の商品は代引きが不可という場合に役立ちます。
functions.phpに次のコードを追加します。
//送料込みの合計◯◯円以上で代引き禁止 add_filter('woocommerce_available_payment_gateways', 'filter_gateways', 1); function filter_gateways($gateway_list) { if (WC()->cart->total > 30000) { unset($gateway_list['cod']); } return $gateway_list; }
送料抜きの金額(小計)に基準をあわせたい場合は以下のコードになります。
//送料抜きの小計◯◯円以上で代引き禁止 add_filter('woocommerce_available_payment_gateways', 'filter_gateways', 1); function filter_gateways($gateway_list) { if (WC()->cart->subtotal > 30000) { unset($gateway_list['cod']); } return $gateway_list; }
unset($gateway_list部分は代引きなら [‘cod’] 銀行振込なら[‘bankjp’] を指定します。
(いずれもWoocommerce Japan導入が前提)
覚えて置くと便利な小技です。
尚、サブスクリプション商品では商品の合計・小計が別カウントされるので、この方法は使えません。