2017-04-17 2 views
1

Pour moi c'est une question difficile, j'ai regardé partout autour et je ne peux pas sembler trouver la réponse, j'espère que vous le ferez.Global ajouter sur les frais d'expédition pour un groupe seulement

Je vends des photos, en mode téléchargement mais aussi des toiles/bois et ainsi de suite. Il n'y a pas d'expédition requise pour tous ceux-là. Je les ai tous faits avec Global Add on plugin, donc on les appelle des groupes.

Maintenant, je voudrais ajouter des impressions, et pour ce groupe, un coût d'expédition doit être ajouté.

Donc, pas de frais de port, mais quand une impression est sélectionnée, 3 € doit être ajouté. Comment puis-je y parvenir?

Exemple de la page produit: http://www.worldofpixels.be/product/org3_11/

Meilleures salutations, Ben

+0

Vérifiez si cet extrait vous aidera you.https: //www.xadapter.com/add-additional-cost-shipping-service-based-shipping-class/ –

+0

je vais devoir vérifier cela en détail, mais comment adapter ce script pour Global Add Ons? :/ – user1562864

+0

Vous pouvez généraliser le script pour ajouter des frais supplémentaires avec Shipiping classe –

Répondre

0

S'il vous plaît essayer extrait ci-dessous modifié.

function add_extra_charge($rates, $item_id) { 
    global $woocommerce; 
    $extra_cost = 0; 
    foreach ($woocommerce->cart->cart_contents as $product) { 
     //$product is a array, and print-pack is the slug of the attribute name print 
     if ($product['variation_id'] && in_array('print-pack', $product['variation'])) { 

      $extra_cost = 3; 
      break; 
     } 
    } 

    foreach ($rates as $key => $value) { 
     $rates[$key]->cost += $extra_cost; 
    } 

    return $rates; 
} 

add_filter('woocommerce_package_rates', 'add_extra_charge', 100, 2); 
+0

J'ai ajouté cela dans le functions.php, le slug d'attribut d'impression est changé et tout semble fonctionner (s'il vous plaît vérifier printscreen http://imgur.com/I3NTiRq). Mais les 3 € ne sont toujours pas ajoutés en tant qu'expédition :( – user1562864

+0

vérifiez que votre attribut slug est correct? Vérifiez que le code entre dans la condition if –