Disabilitiamo due metodi di pagamento (Contrassegno e Postepay) per tutti i metodi di spedizione con id diverso da 1, che nel nostro caso è associato alla zona di spedizione Italia
Nel file functions.php del tema attivo aggiungiamo la funzione:
function filter_gateways( $gateways ) {
$method = WC()->session->get( 'chosen_shipping_methods' );
// prendiamo l'ID del metodo di spedizione associato alla zona in cui vogliamo che i due metodi funzionino ancora
// /wp-admin/admin.php?page=wc-settings&tab=shipping
if ( 'flat_rate:1' != $method[0] ) {
unset( $gateways['cod'] );
unset( $gateways['ppay'] );
}
return $gateways;
}
Sempre nel file functions.php aggiungiamo il filtro che richiama la funzione appena creata:
add_filter( 'woocommerce_available_payment_gateways', 'filter_gateways', 1);
Salve io avrei la necessità di disabilitare il pagamento con contrassegno e bonifico bancario quando spedisco in Europa, come posso fare? Esiste un plugin per fare questo senza mettere mani al codice? Grazie
Non so se esistano plugin per farlo, ma se il metodo di spedizione associato all’Europa è il secondo, il codice potrebbe essere quello pubblicato con le righe 5,6,7 e 8 così modificate:
Buongiorno,
ho un cliente che ha la necessità di spedire alcuni prodotti solamente in Italia, escludendo i paesi europei. Come posso fare?
Buongiorno, credo che possa essere d’aiuto un plugin..
https://docs.woocommerce.com/document/per-product-shipping/
https://jem-products.com/woocommerce-table-rate-shipping-pro/
Non so se questi fanno al suo caso, magari provi a verificare