WooFrance Dépannage et support WordPress WooCommerce Forums How to WooCommerce Livraison gratuite uniquement pour les membres premium

2 sujets de 1 à 2 (sur un total de 2)
  • Auteur
    Messages
  • #5919
    Ricardo
    Participant
    Points: 30 pts
    Membre 2 étoiles

    Bonjour à tous

    Je suis un peu bloqué sur une fonction qui me pose problème.

    J’ai un woocommerce avec le plugin woocommerce membership. J’aimerais que les membres actifs (donc qui ont un statut de membre “premium” dans mon exemple) puissent bénéficier de la livraison gratuite pour toutes leur commandes (un peu comme amazon premium en gros). Actuellement sur mon site, la livraison gratuite n’est proposé qu’a partir de 100 euros.

     

    J’ai bien sur fait mes recherches et je suis tombé sur ce thread ici: https://wordpress.stackexchange.com/questions/245090/how-to-have-free-shipping-for-woocommerce-membership-members

     

    add_filter( ‘woocommerce_package_rates’, ‘hide_shipping_when_free_is_available’, 10, 2 );

    function hide_shipping_when_free_is_available( $rates, $package ) {

    // Get current user ID
    $user_id = get_current_user_id();

    // Let’s use a hook based o https://docs.woocommerce.com/document/woocommerce-memberships-function-reference/
    // This is assuming that the plan’s name is « gold »
    if (wc_memberships_is_user_active_member( $user_id, ‘gold’ )) {

    // If the user is active, then let’s force the free shipping method
    $free_shipping          = $rates[‘free_shipping’];
    $rates                  = array();
    $rates[‘free_shipping’] = $free_shipping;
    }
    return $rates;
    }

    J’ai essayé d’appliquer la function mais j’ai un message d’erreur :

    Fatal error: Call to a member function get_label() on null in /home/xxxx/public_html/xxxx/wp-content/plugins/woocommerce/includes/wc-cart-functions.php on line 343

    Le snippet fournit ne doit plus fonctionner avec les dernieres versions de woocommerce?

    La partie du code qui pose soucis est la suivante:

     $free_shipping          = $rates[‘free_shipping’];
    $rates                  = array();
    $rates[‘free_shipping’] = $free_shipping;

    Merci de votre aide

    depanagewp
    #40395
    Fred – WooFrance
    Maître des clés
    Points: 7,413 pts
    Certifié
    Membre 2 étoiles

    Bonjour

    N’existe il pas des plugin qui gère celà ? Table rate shiping ?

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