WooFrance Dépannage et support WordPress WooCommerce › Forums › Forum de Support WooCommerce › SUPPRESSION DES ADRESSES DANS LE CHECKOUT_FIELDS
Étiqueté : checkout
- Ce sujet contient 0 réponse, 1 participant et a été mis à jour pour la dernière fois par johanny, le il y a 11 mois.
-
AuteurMessages
-
19 décembre 2023 à 6 h 15 min #515133
Bonjour à tous, je dois réaliser un site de commande pour une pizzeria, avec l’api de Woocommerce j’ai pu synchroniser les commandes.
Ma problématique, En fonction d’un évent: une variable d’environnement en php se déclenche en ajax lorsque d’un utilisateur click sur un bouton avec deux choix « a emporter » ou « livrer » . J’ai travailler une function qui traite les cas lorsqu’il arrive sur la page de paiement.
Seulement pour la partie « a emporter » je n’ai pas besoin des champs adresse et a chaque fois que je valide j’ai une erreur qui me dit que l’adresse de livraison de facturation est obligatoire.
Une idée de comment faire sauter cette erreur ?
voici mon code :
je permet aussi de vous souhaiter de bonnes fetes de fin d’année
if (!function_exists('get_billing')) { function get_billing() { if (is_page(9)) { //page de commande if (isset($_SESSION['method_of_shipping'])) { $get_billing = $_SESSION['method_of_shipping']; if ($get_billing === "emporter") { add_filter('woocommerce_checkout_fields', 'billing_emporter'); add_filter('woocommerce_checkout_fields', 'billing_emporter', 100); add_filter('gettext', 'modifier_titre_details_facturation_a_emporter', 20, 3); } elseif ($get_billing === "livraison") { add_filter('woocommerce_checkout_fields', 'billing_livraison'); add_filter('gettext', 'modifier_titre_details_facturation', 20, 3); } } else { wp_redirect(home_url()); } } } } /**Action pour la récupération du produit * */ function billing_emporter($fields) { unset($fields['billing']['billing_company']); unset($fields['billing']['billing_address_1']); unset($fields['billing']['billing_address_2']); unset($fields['billing']['billing_city']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_state']); unset($fields['shipping']); //var_dump($fields); return $fields; } /** *methode à livrer * * @return Action $fields */ function billing_livraison($fields) { unset($fields['billing']['billing_company']); unset($fields['billing']['billing_country']); unset($fields['billing']['billing_address_2']); unset($fields['billing']['billing_city']); unset($fields['billing']['billing_postcode']); unset($fields['billing']['billing_state']); $fields['billing']['billing_address_1']['label'] = 'Adresse de livraison'; $fields['billing']['billing_address_1']['placeholder'] = 'Votre adresse '; return $fields; } function modifier_titre_details_facturation($translated_text, $text, $domain) { if ($text === 'Billing details' && $domain === 'woocommerce') { $translated_text = 'Votre adresse :'; } return $translated_text; } function modifier_titre_details_facturation_a_emporter($translated_text, $text, $domain) { if ($text === 'Billing details' && $domain === 'woocommerce') { $translated_text = 'Vos Coordonnées :'; } return $translated_text; }
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.