[Résolu] Forçage cochage livraison gratuite quand celle-ci est disponible (Créer un compte)

  • WordPress :6.4
  • Statut : résolu
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Messages
  • #2469554
    Arnaud06000
    Participant
    Initié WordPress
    29 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL :
    • Thème utilisé : OceanWP gratuit
    • Extensions en place :
    • Nom de l’hébergeur :
    • Adresse du site : alixdevesgre.com

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

    J’ai configuré une livraison gratuite à partir de 50euros d’achat, j’ai basculé la livraison gratuite au dessus de la livraison payante dans les réglages Woocommerce comme suggéré dans les diverses tutos que j’ai trouvé sur internet.

    La livraison gratuite gratuite apparaît bien dans le panier quand elle est disponible selon mes critères de configuration mais elle n’est pas cochée par défaut, ce qui oblige le client à la cocher lui même avant de passer à l’étape de la validation de commande sinon il n’en bénéficiera pas à cette étape et sera obligé de payer la livraison avec un achet de 50euros ou plus.

    J’ai tenté de forcé le cochage de la livraison gratuite avec le code suivant dans le fichier « functions.php » sans succès :

    add_action('woocommerce_cart_calculate_fees', 'apply_free_shipping_automatically');
    function apply_free_shipping_automatically( $cart ) {
    // Récupère le montant minimum pour la livraison gratuite
    $free_shipping_threshold = 50; // Remplacez 50 par le montant minimum requis pour la livraison gratuite

    // Vérifie si le montant du panier atteint ou dépasse le seuil de livraison gratuite
    if ( $cart->subtotal >= $free_shipping_threshold ) {
    // Coche la méthode de livraison gratuite si elle est disponible
    if ( ! WC()->session->get( 'chosen_shipping_methods' )[0] ) {
    WC()->session->set( 'chosen_shipping_methods', array( 'free_shipping' ) );
    }
    }
    }

    Avez-vous une suggestion pour réussir à forcer le cochage de la livraison gratuite ?

    Bien cordialement,
    Arnaud

    #2469568
    momofr@free.fr
    Modérateur
    Maître WordPress
    7581 contributions

    Salut, essaye plutôt ce snippet PHP qui masque les autres choix de livraison si le montant est atteint :

    // AFFICHER LA LIVRAISON GRATUITE SEULE
    function my_hide_shipping_when_free_is_available( $rates ) {
    $free = array();
    foreach ( $rates as $rate_id => $rate ) {
    if ( 'free_shipping' === $rate->method_id ) {
    $free[ $rate_id ] = $rate;
    break;
    }
    }
    return ! empty( $free ) ? $free : $rates;
    }
    add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 );

    Tu dois, bien sûr, définir une livraison gratuite dans la partie expédition de WooCommerce.

     

    #2469571
    Arnaud06000
    Participant
    Initié WordPress
    29 contributions

    Je te remercie pour l’aide apportée. Je suis embêté car je souhaite laisser la possibilité aux clients de choisir une autre option de livraison que la livraison gratuite dans le cas ou ce dernier souhaite tout de même payer pour une livraison plus rapide type Chronopost.

    Je comprend que cela ne soit pas facile à paramétrer.

    Si cela n’est pas faisable, je ferai au mieux, par exemple en rajoutant du texte sur la livraison gratuite « Cocher ici pour en bénéficier » par exemple.

    #2470090
    Arnaud06000
    Participant
    Initié WordPress
    29 contributions

    Bonjour,

    La question est résolue, j’ai demandé au support de Woocommerce comment procéder pour cocher par défaut la livraison gratuite quand celle-ci est disponible. On m’a fourni un plugin à télécharger pour faire la même chose que la commande CSS fournie gentiment plus haut et de soumettre ma demande via leur service dédié pour que cela soit potentiellement pris en charge automatiquement par Woocommerce dans une mise a jour ultérieure.

    Je vous remercie pour l’aide apportée concernant ma demande.

    Bonne après-midi à vous tous.

    #2470092
    Arnaud06000
    Participant
    Initié WordPress
    29 contributions

    « la commande CSS fournie »*

    *(rectification) « ce snippet PHP »

    #2470093
    momofr@free.fr
    Modérateur
    Maître WordPress
    7581 contributions

    Salut, ça serait sympa que tu fournisses le code du snippet PHP ici dans ce fil, cela peut aider d’autres personnes.

    #2470095
    Arnaud06000
    Participant
    Initié WordPress
    29 contributions

    C’est ce que tu m’as donné plus haut dans les échanges de messages 😉

    Je te remercie encore.

    #2470101
    momofr@free.fr
    Modérateur
    Maître WordPress
    7581 contributions

    Salut, OK.

8 sujets de 1 à 8 (sur un total de 8)
  • Vous devez être connecté pour répondre à ce sujet.