Hello le web,
aujourd’hui on résout une problématique sur notre site WooCommerce par le code.
On souhaite vendre uniquement en France métropolitaine en excluant la Corse et les DOM-TOM.
Pour les DOM/TOM, ça se passe dans les réglages de Woocommerce.
Woocommerce > Réglages > Général :
Où vendre => Vendre dans certains pays
Vendre dans certains pays => France
La région France exclue de base les DOM/TOM sauf la Corse.
Pour s’assurer que l’on ne puisse pas passer commande à destination de la corse.
add_filter( 'woocommerce_available_payment_gateways', 'agent3w_valid_payment_gateways' ); function agent3w_valid_payment_gateways( $available_gateways ) { global $woocommerce; if ( is_admin() ) { return $available_gateways; // autorise tous les moyens de paiement pour les admins } // Exclure des codes postaux précis $exclude_postcodes = array(); // Exclure des codes postaux commençant par $exclude_postzones = array( '20', // corse '2A', '2B' ); $user_postcode = !empty($woocommerce->customer->get_shipping_postcode()) ? $woocommerce->customer->get_shipping_postcode() : $woocommerce->customer->get_billing_postcode(); // retire les moyens de paiement si le code postal est dans la liste des exclusions if ( in_array($user_postcode, $exclude_postcodes)) { return array(); } // retire les moyens de paiement si le code postal commence par un code exclu foreach ( $exclude_postzones as $codezone) { if (preg_match('/^' . $codezone . '/', $user_postcode)) { return array(); break; } } return $available_gateways; }
C’est déjà fini.