[Résolu] Calcul 1% for the planet sur page de paiment (Créer un compte)

  • WordPress :6.1
  • Statut : résolu
15 sujets de 1 à 15 (sur un total de 33)
  • Auteur
    Messages
  • #2449975
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL :
    • Thème utilisé : Divi
    • Extensions en place :
    • Nom de l’hébergeur : 02Switch
    • Adresse du site : 8e-19b930707bf4.wptiger.fr (adresse de développement temporaire)

    Problème(s) rencontré(s) :

    Bonjour,

    Je cherche à afficher quelque chose de particulier sur la page de paiement woo-commerce sur le site que je développe ! Mon client est membre d’1% pour la planète. Il aimerait que les 1% du montant HT de la commande du client soit affiché, avec un message du genre : « Avec votre commande, vous reversez X€ directement à 1% for the planet ».

    Je ne trouve pas de solution pour l’instant pour faire ça, je ne sais pas s’il est possible de récupérer un shortcode déjà qui donnerai l’information du prix HT de la commande du client puis avec une formule peut-être sous forme du code que ça prenne 1% de ce montant ? Merci d’avance pour votre aide.

    #2450022
    momofr@free.fr
    Modérateur
    Maître WordPress
    5870 contributions

    Salut, c’est une fonction de frais (fees), tu as plein d’extensions pour faire ça.

    Tu as aussi un snippet PHP à mettre dans le fichier functions.php de ton thème enfant (si tu en utilises un).

    #2450868
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Salut, merci pour la réponse !

    J’ai rajouté un snippet PHP, et ça fonctionne mais pas exactement comme j’aimerai, j’ai rajouté le code ci-dessous. Seulement cela rajoute bien 1% du montant comme une surcharge et change le montant du panier. Ce n’est pas ce que je souhaite, j’aimerai que ça affiche 1% du montant sans que ça change le montant du panier, que ça n’ajoute pas 1% mais affiche uniquement 1% du montant actuel. Est-il possible d’adapter ce code ? Sans que ça ne s’affiche non plus dans la facture ?

    /**
    * Add a 1% surcharge to your cart / checkout
    * change the $percentage to set the surcharge to a value to suit
    */
    add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
    function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

    $percentage = 0.01;
    $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage;
    $woocommerce->cart->add_fee( 'Surcharge', $surcharge, true, '' );

    }

    #2450871
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Je rajoute qu’en plus il faut que ce soit 1% du montant HT.

    #2450882
    momofr@free.fr
    Modérateur
    Maître WordPress
    5870 contributions

    Salut, effectivement je n’ai pas bien compris, je ne trouve pas d’extension ou de snippet pour ça, un ou une dev WP devrait pouvoir faire ça.

    Pose ta question sur le support WP (en anglais).

    #2450891
    ferman
    Participant
    Maître WordPress
    6138 contributions

    Bonjour,

    Essayez cette modification du snippet:

    add_action( 'woocommerce_cart_totals_after_shipping','woocommerce_custom_surcharge' );
    function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

    $percentage = 0.01;
    $surcharge = round(( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total ) * $percentage,2);
    echo "<p class= 'surcharge'>Avec votre commande, vous reversez $surcharge € directement à 1% for the planet </p>";
    }

    J’ai mis une classe (.surcharge) pour pouvoir donner le style que vous voulez à la phrase.

    • Cette réponse a été modifiée le il y a 2 mois par ferman.
    #2450955
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Ok je vais essayer merci

    #2450956
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Merci pour cet essai, mais quand je remplace le snippet avec le vôtre la surcharge disparaît totalement dans la page panier.

    #2450962
    ferman
    Participant
    Maître WordPress
    6138 contributions

    Vous disiez:

    J’ai rajouté un snippet PHP, et ça fonctionne mais pas exactement comme j’aimerai, j’ai rajouté le code ci-dessous. Seulement cela rajoute bien 1% du montant comme une surcharge et change le montant du panier. Ce n’est pas ce que je souhaite, j’aimerai que ça affiche 1% du montant sans que ça change le montant du panier, que ça n’ajoute pas 1% mais affiche uniquement 1% du montant actuel.

    J’avais donc compris la chose suivante: vous avez un total (par exemple 100€) dans votre panier. De ce total 1% ht sont pour « 1% for the planet  » le montant est inchangé (100€) et le client est averti que sur ces 100€,  1% du montant est reversé. C’est ce que fait le snippet que je vous ai passé (la phrase après le panier).

    Ce n’est pas ce que vous vouliez? J’ai donc également mal compris.

    #2450965
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Si si c’est bien ça, mais quand j’applique le snippet, rien ne s’affiche dans la page panier pour le montrer 🙂 Par rapport au code de départ où une ligne était rajoutée, mais qui modifiait le prix.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2450967
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Je rajoute aussi la capture écran du résultat avec l’ancien code pour comparer.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2450970
    ferman
    Participant
    Maître WordPress
    6138 contributions

    C’est bizarre. En copie d’écran, ce que je vois chez moi: C’est la page panier woocommerce d’origine. Peut-être que votre page est customizée (contrôlée par DIVI par exemple), auquel cas le snippet ne peut pas s’appliquer.

    • Cette réponse a été modifiée le il y a 2 mois par ferman.
    #2450974
    momofr@free.fr
    Modérateur
    Maître WordPress
    5870 contributions

    Salut @Ferman, ton snippet marche chez moi… mais c’est sur le TTC avec le port, pas sur le HT.

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2450977
    communicationmrlaurent@gmail.com
    Participant
    Initié WordPress
    16 contributions

    Arf oui, elle est entièrement faite avec DIVI… Il me faut trouver une solution pour l’afficher alors, car c’est exactement ce que je souhaite afficher au vu de vos screenshots, en HT par contre oui.

    #2450979
    momofr@free.fr
    Modérateur
    Maître WordPress
    5870 contributions

    Salut, en enlevant le port ça semble mieux non ? Pas certain.

    // AJOUTER UN MESSAGE POUR 1% FOR THE PLANET
    add_action( 'woocommerce_cart_totals_after_shipping','woocommerce_custom_surcharge' );
    function woocommerce_custom_surcharge() {
    global $woocommerce;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

    $percentage = 0.01;
    $surcharge = round(( $woocommerce->cart->cart_contents_total ) * $percentage,2);
    echo "<p class='surcharge'>Avec votre commande, vous reversez $surcharge € directement à 1% for the planet </p>";
    }

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
15 sujets de 1 à 15 (sur un total de 33)
  • Vous devez être connecté pour répondre à ce sujet.