Ich versuche, ein Variationsprodukt direkt über einen Link in meinen Warenkorb zu legen. Ich setze die variant_id mit der Abfragezeichenfolge. Soweit ich weiß, sende ich die Daten genauso wie das Standardformular für Variationsprodukte.
Hier ist der Code auf meiner Einzelproduktseite:
<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>
Umgekehrt funktioniert das einfache Produkt gut. Ich habe im Admin Preise für meine Produktvariationen festgelegt. Ich bin mir nicht sicher, warum es nicht so einfach ist, die Daten durchzusenden. Jede Hilfe wäre sehr dankbar.
quelle
Fand dieses heraus. Es fehlten einige Parameter, um meinem Warenkorb ein variables Produkt hinzuzufügen. Die fehlenden Parameter sind der
variation_id
und der Attributtyp, auf denvariation_id
sich der bezieht. Die Variations-ID finden Sie in admin> woocomerce> products und auf der Registerkarte "Variationen" neben der von Ihnen erstellten Produktvariation.Der Attributparameter wird aus dem Präfix
attribute_
und dem bereinigten Attributnamen gebildet . Zum Beispiel heißt mein Attribut Stock Colors, also ist mein Attributtyp param attribute_stock-colors. Nach allem, was ich sagen kann, haben Sie nur festgelegt,attribute_stock-colors=1
weil die Methode zum Hinzufügen zum Warenkorb nur überprüft, ob sie vorhanden ist.Hier ist ein einfaches Beispiel für einen Link, mit dem ein Produkt mit der Variations-ID 261 von Lagerfarben in meinen Warenkorb gelegt wird:
Um dies in einer realen Situation zu verwenden, müssten Sie den Attributtyp und die Variations-ID dynamisch anhand der Optionen festlegen, die der Benutzer in einer Dropdown-Liste oder ähnlichem ausgewählt hat (es sei denn, jedes Produkt verfügt über dieselbe Variation, was es im Grunde genommen zu einem einfachen Produkt macht ).
quelle