IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

Création d'un module de livraison


Sujet :

WordPress PHP

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2023
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2023
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Création d'un module de livraison
    J'ai besoin d'aide de toute urgence, comment extraire le code postal indiqué par le client dans le panier pour pouvoir calculer ses frais de port.

    Notez que je viens de créer une extension pour la base de données et un peu plus de gestion. Je veux donc ajouter cette fonctionnalité à partir de cette extension.

    En voici une capture d'une exemple de mon panier : Nom : image_2023-07-02_135942093.png
Affichages : 121
Taille : 50,4 Ko

    J'ai déjà essayer aussi avec ce code mais ça me retourne rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    add_action('woocommerce_after_calculate_totals', 'cwpai_get_customer_postcode');
     
    /**
     * Get customer postcode after shipping calculation
     */
    function cwpai_get_customer_postcode() {
        // Get the customer's shipping address object
        $customer_shipping_address = WC()->customer->get_shipping_address();
     
        // Check if the customer has a shipping postcode
        if (isset($customer_shipping_address['postcode'])) {
            // Store the customer's shipping postcode in a global variable
            global $cwpai_customer_postcode;
            $cwpai_customer_postcode = $customer_shipping_address['postcode'];
        }
    }

  2. #2
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mars 2023
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2023
    Messages : 31
    Points : 47
    Points
    47
    Par défaut
    Pour extraire le code postal indiqué par le client dans le panier et calculer les frais de port, vous pouvez utiliser le code suivant dans votre extension :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    add_action('woocommerce_after_calculate_totals', 'cwpai_get_customer_postcode');
     
    /**
     * Get customer postcode after shipping calculation
     */
    function cwpai_get_customer_postcode() {
        // Get the customer's shipping address object
        $customer_shipping_address = WC()->customer->get_shipping_address();
     
        // Check if the customer has a shipping postcode
        if (isset($customer_shipping_address['postcode'])) {
            // Store the customer's shipping postcode in a global variable
            global $cwpai_customer_postcode;
            $cwpai_customer_postcode = $customer_shipping_address['postcode'];
     
            // You can now use $cwpai_customer_postcode to calculate the shipping costs or perform any other related operations
            // For example:
            $shipping_costs = calculate_shipping_costs($cwpai_customer_postcode);
     
            // Update the shipping costs in the cart
            WC()->cart->set_shipping_total($shipping_costs);
            WC()->cart->calculate_totals();
        }
    }
     
    /**
     * Calculate shipping costs based on customer postcode
     *
     * @param string $postcode Customer postcode
     * @return float Shipping costs
     */
    function calculate_shipping_costs($postcode) {
        // Implement your logic to calculate the shipping costs based on the customer's postcode
        // You can use external APIs, shipping zones, or any other method specific to your setup
     
        // Example: A flat rate of $10 for all postcodes
        $shipping_costs = 10.00;
     
        return $shipping_costs;
    }
    Dans cette solution, nous utilisons l'action woocommerce_after_calculate_totals pour exécuter la fonction cwpai_get_customer_postcode après le calcul des totaux du panier.

    La fonction cwpai_get_customer_postcode récupère l'adresse de livraison du client et extrait le code postal. Elle stocke ensuite ce code postal dans une variable globale $cwpai_customer_postcode.

    Vous pouvez utiliser la variable $cwpai_customer_postcode pour calculer les frais de port dans la fonction calculate_shipping_costs (implémentez votre propre logique de calcul des frais de port en fonction du code postal). Dans l'exemple, nous utilisons un tarif fixe de 10 $ pour tous les codes postaux.

    Enfin, nous mettons à jour les frais de port dans le panier en utilisant les méthodes set_shipping_total et calculate_totals de l'objet WC()->cart.

    Assurez-vous d'ajouter ce code dans votre extension, et n'oubliez pas d'adapter la logique de calcul des frais de port à vos besoins spécifiques.

Discussions similaires

  1. [Toutes versions] Création d'un module sous access
    Par bckflow dans le forum VBA Access
    Réponses: 1
    Dernier message: 23/07/2009, 15h26
  2. Création d'un module : petit probleme de syntaxe
    Par sebinator dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/11/2007, 11h10
  3. [débutant] Création d'un module
    Par Chris51 dans le forum Modules
    Réponses: 5
    Dernier message: 17/04/2007, 16h23
  4. Création d'un module php5 en C.
    Par freeosca dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 09/11/2006, 22h59
  5. Cration d'un module de recherche
    Par cyberbiker dans le forum Access
    Réponses: 1
    Dernier message: 16/03/2006, 15h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo