次のコードでは、顧客は支払い方法を更新および変更するために配送方法を選択する必要があります (COD は他の支払い方法を非表示にします)。
add_filter('woocommerce_available_payment_gateways', 'my_custom_available_payment_gateways');
function my_custom_available_payment_gateways($gateways) {
$shipping_method ='flat_rate:8'; //2-7
$shipping_method2 ='flat_rate:9';
global $woocommerce;
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if ($chosen_shipping == $shipping_method || $chosen_shipping == $shipping_method2) {
unset( $gateways['easypay_mb'] );
unset( $gateways['easypay_mbway'] );
unset( $gateways['easypay_cc'] );
unset( $gateways['paypal'] );
unset( $gateways['bacs'] );
}
return $gateways;
}
しかし、何か違うものが必要で、それに関連するものは何も見つかりません。
利用可能な各支払い方法で、一度に 1 つの事前定義された配送方法を有効にして、顧客が配送方法を変更できないようにしたいと思います(したがって、配送方法のラジオ ボタン オプションの選択肢は表示されません)。
出来ますか?誰かが私を正しい方向に向けることができますか?