Toutes mes réponses sur les forums

Affichage de 1 message (sur 1 au total)
  • Auteur
    Messages
  • #285534
    Durand
    Participant
    Points: 15 pts

    Bein en expérience utilisateur, c’est moyen de lui dire que c’est gratuit mais qu’en même temps on lui propose des frais de port avec des tarifs.
    Personnellement ça me perturberais

    Donc, j’ai trouvé ailleurs qu’on pouvait masquer les options payantes sans installer d’extensions en rajoutant un bout de code dans le fichier functions.php (à la racine des fichiers de notre thème) :

    //n’afficher que frais de port gratuit, dans le cas ou l’option est dispo
    add_filter( ‘woocommerce_package_rates’, function( $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;
    });

     

    Le principe de ce bout de code est de

    1. créer un tableau vide ($free = array() )
    2. parcourir les méthodes de livraisons à afficher (foreach)
    3. si on trouve la méthode ‘free_shipping’ on l’ajoute dans le tableau $free et on arrête là, $free ne contient alors qu’un seul élément. ‘free_shipping’ est un nom technique qui correspond à Livraison Gratuite dans l’admin wordpress
    4. si $free contient un élément, on renvoie ça en liste de méthodes de livraisons valables, sinon on renvoie le tableau normal

    Il y a moyen d’adapter ça si en plus de ‘Livraison Gratuite’ on veut proposer d’autres modes de livraison particuliers, mais payant.

    En espérant que ça aide quelqu’un!

     

    ====================
    depanagewp
    vpsa2
Affichage de 1 message (sur 1 au total)