I am trying to add a variation product to my cart directly through a link. I am setting the variation_id with the query string. As far as I can tell I am sending the data the exact same way as the default variation product form does.
Here’s the code inside of my single-product page:
<a href="https://wordpress.stackexchange.com/questions/86967/<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart</a>
Conversely, the simple product works fine. I have set prices to my product variations in the admin. Not sure why it’s not as simple as sending the data through. Any help would greatly appreciated.
i currently work on a woocommerce v2.1.12 shop and it seems they chaged that behavior.
my ajax url to add items to the cart has to look like this:
?add-to-cart=[PRODUCT-ID]&variation_id=[VARIATION-ID]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]
example:
http://example.com/store/category/product/?add-to-cart=239&variation_id=240&attribute_pa_size=48-2&attribute_pa_color=gold
this adds a specific product to the cart and also sets the variation attributes in the cart.
you can even set the quantity by simply adding &quantity=[VALUE]
in the end this comes in handy since all these values are set inside the submit form / select fields, you just have to look those up..