Ich versuche ein Variationsprodukt direkt über einen Link in meinen Warenkorb zu legen. Ich setze die variation_id mit der Abfragezeichenfolge. Soweit ich das beurteilen kann, sende ich die Daten genau so, wie es die Standardproduktvariante tut.
Hier ist der Code innerhalb meiner Einzelproduktseite:
<a href="https://wordpress.stackexchange.com/questions/86967/woocommerce-add-variation-product-to-cart-from-custom-link/add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Add to Cart
Umgekehrt funktioniert das einfache Produkt gut. Ich habe die Preise für meine Produktvarianten im Admin festgelegt. Nicht sicher, warum es nicht so einfach ist, die Daten durchzusenden. Jede Hilfe würde sehr geschätzt werden.
Ich arbeite derzeit an einem Woocommerce v2.1.12-Shop und es scheint, dass sie dieses Verhalten beeinflusst haben.
Meine Ajax-URL zum Hinzufügen von Artikeln zum Einkaufswagen muss folgendermaßen aussehen:
?add-to-cart=[PRODUCT-ID]&variation_id=[VARIATION-ID]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]&attribute_[ATTRIBUTE-NAME]=[ATTRIBUTE-SLUG]
Beispiel:
http://example.com/store/category/product/?add-to-cart=239&variation_id=240&attribute_pa_size=48-2&attribute_pa_color=gold
Dies fügt dem Einkaufswagen ein bestimmtes Produkt hinzu und legt auch die Änderungsattribute im Warenkorb fest. Sie können die Menge sogar einstellen, indem Sie einfach &quantity=[VALUE]
hinzufügen
Am Ende ist dies sehr praktisch, da alle diese Werte in den Feldern “Senden” und “Auswahl” eingegeben werden. Sie müssen nur nachsehen.
Ich habe das herausgefunden. Mir fehlen ein paar Parameter, um ein variables Produkt in meinen Warenkorb zu legen. Die fehlenden Parameter sind die variation_id
ID und der Attributtyp, auf den sich die variation_id
ID bezieht. Die Varianten-ID finden Sie in den Produkten admin> woocomerce> und unter der Registerkarte Varianten neben der von Ihnen erstellten Produktvariante.
Das Attribut param wird aus dem Präfix attribute_
und dann dem bereinigten Attributnamen gebildet. Zum Beispiel heißt mein Attribut Stock Colors, also ist mein Attributtyp param attribute_stock-colors. Von dem, was ich sagen kann, legen Sie nur attribute_stock-colors=1
weil die Add-to-Cart-Methode nur überprüfen, ob es existiert.
Hier ist ein einfaches Beispiel für einen Link, der ein Produkt zu meinem Einkaufswagen mit der Variation ID 261 der Lagerfarben hinzufügt:
Add to Cart
Um dies in einer realen Situation zu verwenden, müssten Sie den Attributtyp und die Variations-ID dynamisch aus den Optionen auswählen, die der Benutzer ausgewählt hat (sofern nicht jedes Produkt die gleiche Variation aufweist, was es im Grunde zu einem einfachen Produkt macht ).