J'essaie d'ajouter un produit de variation à mon panier directement via un lien. Je mets le variation_id avec la chaîne de requête. Pour autant que je sache, j'envoie les données exactement de la même manière que le formulaire de produit par défaut.
Voici le code à l'intérieur de ma page mono-produit:
<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 de mes variations de produits dans l'administrateur. Je ne sais pas pourquoi ce n'est pas aussi simple que d'envoyer les données. Toute aide serait grandement appréciée.
la source
Compris celui-ci. Il me manquait quelques paramètres nécessaires pour ajouter un produit variable à mon panier. Les paramètres manquants sont le
variation_id
et le type d'attribut auxquels levariation_id
fait référence. L'identifiant de variante se trouve dans admin> woocomerce> produits et sous l'onglet variantes à côté de la variante de produit que vous avez créée.Le paramètre d'attribut est formé du préfixe
attribute_
puis du nom d'attribut filtré. Par exemple, mon attribut est appelé Stock Colors, donc mon paramètre de type d'attribut est attribute_stock-colours. D'après ce que je peux dire, vous venez de définirattribute_stock-colors=1
parce que la méthode add to cart vérifie simplement si elle existe.Voici un exemple simple d'un lien qui ajoute un produit à mon panier avec la variation id 261 des couleurs de stock:
Pour l'utiliser dans une situation réelle, vous devez définir dynamiquement le type d'attribut et l'ID de variation à partir des options choisies par l'utilisateur dans une liste déroulante ou quelque chose comme ça (sauf si chaque produit a la même variation, ce qui en ferait essentiellement un produit simpel ).
la source