WooFrance Dépannage et support WordPress WooCommerce › Forums › Les plugins WordPress WooCommerce › Woocommerce plugin de livraison
Étiqueté : livraison, plugin, woocommerce
- Ce sujet contient 8 réponses, 3 participants et a été mis à jour pour la dernière fois par Stephane Irie, le il y a 6 années et 11 mois.
-
AuteurMessages
-
13 novembre 2017 à 23 h 14 min #43324
Bonjour, j’ai un problème avec l’affichage des méthodes de livraison personnalisée sur la page panier de woocommerce.
En effet, j’ai développé un plugin de livraison pour un marketplace utilisant wc multi vendor. Le plugin fonctionne bien sur ma plateforme de développement, mais lorsque j’installe sur une autre installation et tout autre plugin de livraison personnalisée, rien ne s’affiche.
pourriez vous me donner un coup de main?
Merci pour votre aide.
15 novembre 2017 à 3 h 33 min #4340015 novembre 2017 à 8 h 01 min #4340419 novembre 2017 à 16 h 32 min #45824Depuis qu’il y a le système de zones, il faut faire quelques modifications pour que la nouvelle méthode de transport fonctionne.
Dans le constructeur de la classe, il faut tenir compte de l’identifiant d’instance et indiquer dans l’attribut
supports
que la méthode de transport gère les zones comme cela :public function __construct($instance_id = 0) { $this->instance_id = absint($instance_id); $this->supports = [ "shipping-zones", "instance-settings", "instance-settings-modal", ];
À la déclaration dans le filtre
woocommerce_shipping_methods
, rajouter l’identifiant de la méthode comme clé du tableau :
$methods["lfc_free_shipping"] = "WC_Lfc_Free_Shipping";
Et dans la méthode
calculate_shipping
, passer l’identifiant de l’instance pour indiquer le prix :$this->add_rate([ "id" => $this->instance_id, "label" => $this->title, "cost" => $prix, ]);
Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.2 users thanked author for this post.
19 novembre 2017 à 18 h 42 min #4582525 novembre 2017 à 19 h 51 min #46357Bonjour, j’ai effectué la mise à jour de mon code comme recommandé par le commentaire de Mathieu. Le problème c’est que je n’arrive pas à avoir mes méthodes (y compris le mode forfai) de livraison sur la page panier.
j’ai activer le mode debeugage de woocommerce mais rien.
Pouvez-vous me donner une idée pour la résolution de ce problème?
Merci pour votre aide
cordialement
25 novembre 2017 à 20 h 55 min #46359Il y avait aussi l’indication du prix à changer, j’ai modifié le fin de mon message :
https://woofrance.fr/forums/topic/woocommerce-plugin-de-livraison/#post-45824Développeur PHP et WordPress En Alsace dans l'annuaire des prestataires WordPress et WooCommerce
Création d'extensions pour WordPress et WooCommerce - Personnalisation d'extensions existantes
🔶 Si vous appréciez mon aide, vous pouvez me faire un don de n'importe quel montant en cliquant ici.1 user thanked author for this post.
28 novembre 2017 à 0 h 54 min #4647930 novembre 2017 à 2 h 33 min #46662Bonjour, je traîne un problème avec un projet Woocommerce et j’aimerais avoir votre aide et conseil pour m’aider à résoudre cette équation.
Le sujet est le suivant:
Catégorie A: Livres, DVD, CD, T-Hirt, tasse, Mug, peluche, casquette, porte clé, autres articles similaires.– Si Envoi avec suivi: 5,10 euros. Rajouter 1.50 euros à chaque article supplémentaire du même vendeur.
– Si Envoi en recommandé: 6.50 euros.
Catégorie B : Gros Livres, chaussures, sacs, autres articles similaires.
– Si Envoi avec suivi: 7.50 euros. Rajouter 1.50 euros à chaque article supplémentaire du même vendeur.
– Si Envoi en recommandé: 8.60 euros.
Ainsi, pour l’exemple de 5 articles achetés chez trois vendeurs différents, on aura:
Vendeur 1: Vente de 1 article de catégorie A: Frais de port = 5.10 euros.
Vendeur 2: Vente de 2 articles de catégorie A: Frais de port = 5.10 euros + 1.50 euros
Vendeur 3: Vente de 2 articles de catégorie B: frais de port = 7.50 euros + 1.50 euros.
L’acheteur aura donc à payer Total prix global des 5 articles + 5.10 + (5.10+1.50) + (7.50 + 1.50).
J’ai écrit le code suivant
foreach ( $packages['contents'] as $item_key => $item ) { if ( $item['quantity'] > 0 && $item['data']->needs_shipping() ) { if ( in_array( wp_get_object_terms( $item['product_id'], 'product_cat', array( 'fields' => 'ids' ) ), $category_a ) ) { $count++; $costA= $this->get_option('costA') + (($count-1)*1.5); } else { $count++; $costB = $this->get_option('costB') + (($count-1)*1.5); } $cost= $costA + $costB; } }
Le probleme est que, le code ne parcour pas tous les élements du tableau quand il trouvé un seul élement correspondant. Pourriez vous, me dire ce qui ne marche pas dans mon code?
Merci pour votre aide
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.