היום ניתן מבט על עמוד התשלום של ווקמורס וספציפית נראה כיצד לבטל צורת תשלום מסויימת לקוח בהתאם לשיטת המשלוח אותה הוא בחר. למשל ביטול ״תשלום בהמחאה״ לשיטת המשלוח ״איסוף מקומי״.
![ווקומרס - ביטול צורת תשלום מסויימת עבור שיטת משלוח ספציפית](https://savvy.co.il/wp-content/uploads/2020/10/woocommerce-disable-payment-gateway-for-specific-shipping-method.jpg)
בכל מקרה הינה קוד סניפט המאפשר לעשות משהו בסגנון (functions.php
):
/**
* @snippet ביטול צורת תשלום מסויימת עבור שיטת משלוח ספציפית
* @author Roee Yossef
* @website https://savvy.co.il
*/
function sv_gateway_disable_shipping_326( $available_gateways ) {
if ( ! is_admin() ) {
$chosen_methods = WC()->session->get( 'chosen_shipping_methods' );
$chosen_shipping = $chosen_methods[0];
if ( isset( $available_gateways['cod'] ) && 0 === strpos( $chosen_shipping, 'local_pickup' ) ) {
unset( $available_gateways['cod'] );
}
}
return $available_gateways;
}
add_filter( 'woocommerce_available_payment_gateways', 'sv_gateway_disable_shipping_326' );