add_filter( 'woocommerce_available_payment_gateways', 'wbmz_cheque_alleen_bij_afhalen', 10, 1 );
function wbmz_cheque_alleen_bij_afhalen( $available_gateways ) {
if( is_admin() ) return $available_gateways; // Alleen voor de frontend
$local_found = false;
// Loop door de verzendmethoden
foreach ( WC()->session->get( 'chosen_shipping_methods' ) as $chosen_shipping_rate_id ) {
if( strpos( $chosen_shipping_rate_id, 'local_pickup' ) !== false || strpos( $chosen_shipping_rate_id, 'local_delivery' ) !== false ) {
$local_found = true; // Afhalen gevonden
break; // Stop de loop als het is gevonden
}
}
// Als afhalen is gevonden dan hoeft er niets te gebeuren
if( $local_found ) {
} else { // als afhalen NIET is gevonden dan moet pinnen/cheque worden verwijderd
foreach ( $available_gateways as $payment_method_id => $payment_label ) {
// Remove all payement methods except "cheque"
if ( 'cheque' == $payment_method_id ) {
unset( $available_gateways[$payment_method_id] );
}
}
}
return $available_gateways;
}
#afhalen #cheque #functions #method #pinnen #shipping #verzendmethode #woocommerce