WooFrance Dépannage et support WordPress WooCommerce Forums Forum de Support WooCommerce SUPPRESSION DES ADRESSES DANS LE CHECKOUT_FIELDS

Étiqueté : 

  • 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.
Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #515133
    johanny
    Participant
    Points: 13 pts

    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;
    }
    depanagewp
Affichage de 1 message (sur 1 au total)
  • Vous devez être connecté pour répondre à ce sujet.