Woocommerce Ajouter un produit de variantes au panier à partir d'un lien personnalisé [fermé]

14

J'essaie d'ajouter un produit de variante à mon panier directement via un lien. Je suis la variation_id avec la chaîne de requête. Autant que je sache, j'envoie les données exactement de la même manière que le produit sous forme de variante par défaut.

Voici le code à l'intérieur de ma page produit unique:

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart</a>

Inversement, le produit simple fonctionne bien. J'ai fixé les prix pour mes variations de produit dans l'admin. Vous ne savez pas pourquoi ce n'est pas aussi simple que d'envoyer les données. Toute aide serait grandement appréciée.

    
posée ezekielDFM 14.02.2013 - 22:49

2 réponses

9

J'ai découvert celui-ci. Il me manquait quelques paramètres nécessaires pour ajouter un produit variable à mon panier. Les paramètres manquants sont variation_id et le type d'attribut auquel variation_id fait référence. L’identificateur de variante se trouve dans l’administrateur > woocomerce > sous l'onglet Variations à côté de la variante de produit que vous avez créée.

L'attribut param est formé du préfixe attribute_ , puis du nom d'attribut assaini. Par exemple, mon attribut s'appelle Stock Colors. Mon type d'attribut param est donc attribute_stock-colors. D'après ce que je peux dire, vous définissez simplement attribute_stock-colors=1 car la méthode d'ajout au panier vérifie simplement si elle existe.

Voici un exemple simple de lien qui ajoute un produit à mon panier avec la variante id 261 de couleurs en stock:

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=261&attribute_stock-colors=1">Add to Cart</a>

Pour l'utiliser dans une situation réelle, vous devez définir le type d'attribut et l'identifiant de variante de manière dynamique à partir des options sélectionnées par l'utilisateur dans un menu déroulant ou quelque chose comme ça (à moins que chaque produit ait la même variation, ce qui le rendrait fondamentalement identique. un produit simpel).

    
réponse donnée ezekielDFM 18.02.2013 - 16:10
10

Je travaille actuellement sur une boutique v2.1.12 sur woocommerce et il semble qu’ils aient brisé ce comportement.

mon URL ajax pour ajouter des articles au panier doit ressembler à ceci:

?add-to-cart=[PRODUCT-ID]&variation_id=[VARIATION-ID]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]

exemple:

http://example.com/store/category/product/?add-to-cart=239&variation_id=240&attribute_pa_size=48-2&attribute_pa_color=gold

Cela ajoute un produit spécifique au panier et définit également les attributs de variation dans le panier. vous pouvez même définir la quantité en ajoutant simplement &quantity=[VALUE]

à la fin, cela est pratique puisque toutes ces valeurs sont définies dans les champs de formulaire / sélection de soumission, il vous suffit de les rechercher ..

    
réponse donnée honk31 28.08.2014 - 10:10

Lire d'autres questions sur les étiquettes