Ne pas afficher le forfait livraison quand livraison gratuite

  • WordPress :4.7
  • Statut : non résolu
10 sujets de 1 à 10 (sur un total de 10)
  • Auteur
    Messages
  • #1644847

    studio_elhem
    Participant
    Initié WordPress
    35 contributions

    Bonjour,

    Voilà mon souci :

    Je souhaite permettre une livraison gratuite si il y a dans le panier au minimum 2 produits. Si ce n’est pas le cas, alors la livraison coûtera 20€.

    J’ai tout d’abord installé le code promo, puis j’ai ajouté des modes de livraison (1 pour la livraison gratuite et un forfait).
    Cela fonctionne très bien, cependant les deux options s’affichent dès lors qu’il y a plus de deux produits dans le panier alors que je souhaite que seule la livraison gratuite ne s’affiche.. Qu’il n’y ait pas de choix possible.

    Y’a t’il une solution css par exemple pour masquer le forfait dès que la condition pour bénéficier de la livraison gratuite est remplie ?

    Merci d’avance,

    #1644860

    Joss47
    Participant
    Maître WordPress
    2396 contributions

    BOnjour,

    As-tu essayé dans l’ordre des livraisons dans tes réglages de mettre la livraison gratuite en première position ? 😉

    #1644867

    studio_elhem
    Participant
    Initié WordPress
    35 contributions

    bonjour et merci de ta réponse,

    oui en effet je l’ai bien mise en première position, cela ne change rien… j’ai toujours les deux propositions qui s’affichent..

    #1645449

    Joss47
    Participant
    Maître WordPress
    2396 contributions

    D’accord,

    Il y a tout de même un truc qui me chagrine, qu’entends tu par

    J’ai tout d’abord installé le code promo

    Tu n’as pas besoin de code promo pour faire fonctionner la livraison gratuite dès deux produits.

    #1645453

    studio_elhem
    Participant
    Initié WordPress
    35 contributions

    Bonjour et merci de ta réponse :p

    Comment ferais tu sans code promo ?

    #1645454

    Joss47
    Participant
    Maître WordPress
    2396 contributions

    Bin soit en paramétrant comme il faut WC, soit en utilisant une extension de ce style 😉

     

    #1645458

    studio_elhem
    Participant
    Initié WordPress
    35 contributions

    Merci beaucoup je vais tester

    #1877078

    Ouss1984
    Participant
    Initié WordPress
    43 contributions

    Bonjour,

    Je me permet de rebondir plutôt que d’ouvrir un autre sujet, vu que j’ai exactement le même problème que studio_elhem.

    Je souhaite proposer la livraison offerte à partir de 60€. Je l’ai bien configurée au niveau des méthodes d’expédition, et je l’ai mise avant le forfait. Mais on propose toujours à l’internaute de choisir entre les 2 : http://i.imgur.com/PAU1FLW.jpg

    Comment faire pour n’afficher que la livraison offerte ? (c’est bête de proposer le forfait au client sachant qu’il peut avoir la livraison offerte)

    Merci à vous !

    #1879956

    harlemlifestyle
    Participant
    Chevalier WordPress
    240 contributions

    j’ai cherché une solution à ce problème il y a 1 mois. j’avais trouvé ça sur un site américain mais il me semble que ça ne fonctionnait pas pour moi. Si vous voulez tester et nous donner vos retours.
    <table class= »highlight tab-size js-file-line-container » data-tab-size= »8″>
    <tbody>
    <tr>
    <td id= »file-gistfile1-php-LC1″ class= »blob-code blob-code-inner js-file-line »>/**</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L2″ class= »blob-num js-line-number » data-line-number= »2″></td>
    <td id= »file-gistfile1-php-LC2″ class= »blob-code blob-code-inner js-file-line »>* woocommerce_package_rates is a 2.1+ hook</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L3″ class= »blob-num js-line-number » data-line-number= »3″></td>
    <td id= »file-gistfile1-php-LC3″ class= »blob-code blob-code-inner js-file-line »>*/</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L4″ class= »blob-num js-line-number » data-line-number= »4″></td>
    <td id= »file-gistfile1-php-LC4″ class= »blob-code blob-code-inner js-file-line »>add_filter( ‘woocommerce_package_rates’, ‘hide_shipping_when_free_is_available’, 10, 2 );</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L5″ class= »blob-num js-line-number » data-line-number= »5″></td>
    <td id= »file-gistfile1-php-LC5″ class= »blob-code blob-code-inner js-file-line »></td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L6″ class= »blob-num js-line-number » data-line-number= »6″></td>
    <td id= »file-gistfile1-php-LC6″ class= »blob-code blob-code-inner js-file-line »>/**</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L7″ class= »blob-num js-line-number » data-line-number= »7″></td>
    <td id= »file-gistfile1-php-LC7″ class= »blob-code blob-code-inner js-file-line »>* Hide shipping rates when free shipping is available</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L8″ class= »blob-num js-line-number » data-line-number= »8″></td>
    <td id= »file-gistfile1-php-LC8″ class= »blob-code blob-code-inner js-file-line »>*</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L9″ class= »blob-num js-line-number » data-line-number= »9″></td>
    <td id= »file-gistfile1-php-LC9″ class= »blob-code blob-code-inner js-file-line »>* @param array $rates Array of rates found for the package</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L10″ class= »blob-num js-line-number » data-line-number= »10″></td>
    <td id= »file-gistfile1-php-LC10″ class= »blob-code blob-code-inner js-file-line »>* @param array $package The package array/object being shipped</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L11″ class= »blob-num js-line-number » data-line-number= »11″></td>
    <td id= »file-gistfile1-php-LC11″ class= »blob-code blob-code-inner js-file-line »>* @return array of modified rates</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L12″ class= »blob-num js-line-number » data-line-number= »12″></td>
    <td id= »file-gistfile1-php-LC12″ class= »blob-code blob-code-inner js-file-line »>*/</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L13″ class= »blob-num js-line-number » data-line-number= »13″></td>
    <td id= »file-gistfile1-php-LC13″ class= »blob-code blob-code-inner js-file-line »>function hide_shipping_when_free_is_available( $rates, $package ) {</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L14″ class= »blob-num js-line-number » data-line-number= »14″></td>
    <td id= »file-gistfile1-php-LC14″ class= »blob-code blob-code-inner js-file-line »></td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L15″ class= »blob-num js-line-number » data-line-number= »15″></td>
    <td id= »file-gistfile1-php-LC15″ class= »blob-code blob-code-inner js-file-line »>// Only modify rates if free_shipping is present</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L16″ class= »blob-num js-line-number » data-line-number= »16″></td>
    <td id= »file-gistfile1-php-LC16″ class= »blob-code blob-code-inner js-file-line »>if ( isset( $rates[‘free_shipping’] ) ) {</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L17″ class= »blob-num js-line-number » data-line-number= »17″></td>
    <td id= »file-gistfile1-php-LC17″ class= »blob-code blob-code-inner js-file-line »></td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L18″ class= »blob-num js-line-number » data-line-number= »18″></td>
    <td id= »file-gistfile1-php-LC18″ class= »blob-code blob-code-inner js-file-line »>// To unset a single rate/method, do the following. This example unsets flat_rate shipping</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L19″ class= »blob-num js-line-number » data-line-number= »19″></td>
    <td id= »file-gistfile1-php-LC19″ class= »blob-code blob-code-inner js-file-line »>unset( $rates[‘flat_rate’] );</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L20″ class= »blob-num js-line-number » data-line-number= »20″></td>
    <td id= »file-gistfile1-php-LC20″ class= »blob-code blob-code-inner js-file-line »></td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L21″ class= »blob-num js-line-number » data-line-number= »21″></td>
    <td id= »file-gistfile1-php-LC21″ class= »blob-code blob-code-inner js-file-line »>// To unset all methods except for free_shipping, do the following</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L22″ class= »blob-num js-line-number » data-line-number= »22″></td>
    <td id= »file-gistfile1-php-LC22″ class= »blob-code blob-code-inner js-file-line »>$free_shipping = $rates[‘free_shipping’];</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L23″ class= »blob-num js-line-number » data-line-number= »23″></td>
    <td id= »file-gistfile1-php-LC23″ class= »blob-code blob-code-inner js-file-line »>$rates = array();</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L24″ class= »blob-num js-line-number » data-line-number= »24″></td>
    <td id= »file-gistfile1-php-LC24″ class= »blob-code blob-code-inner js-file-line »>$rates[‘free_shipping’] = $free_shipping;</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L25″ class= »blob-num js-line-number » data-line-number= »25″></td>
    <td id= »file-gistfile1-php-LC25″ class= »blob-code blob-code-inner js-file-line »>}</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L26″ class= »blob-num js-line-number » data-line-number= »26″></td>
    <td id= »file-gistfile1-php-LC26″ class= »blob-code blob-code-inner js-file-line »></td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L27″ class= »blob-num js-line-number » data-line-number= »27″></td>
    <td id= »file-gistfile1-php-LC27″ class= »blob-code blob-code-inner js-file-line »>return $rates;</td>
    </tr>
    <tr>
    <td id= »file-gistfile1-php-L28″ class= »blob-num js-line-number » data-line-number= »28″></td>
    <td id= »file-gistfile1-php-LC28″ class= »blob-code blob-code-inner js-file-line »>}</td>
    </tr>
    </tbody>
    </table>

    • Cette réponse a été modifiée le il y a 1 semaine et 3 jours par  harlemlifestyle.
    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #1879959

    harlemlifestyle
    Participant
    Chevalier WordPress
    240 contributions

    j’ai collé le code en direct mais ça a copié le tableau du site…

    Le hook est en milieu de page https://www.pootlepress.com/2014/04/100-woocommerce-tips-tricks/#checkout

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