Woocommerce Tambahkan Produk Variasi ke Keranjang dari tautan khusus [ditutup]

15

Saya mencoba menambahkan produk variasi ke troli saya langsung melalui tautan. Saya mengatur variasi_id dengan string kueri. Sejauh yang saya tahu saya mengirim data dengan cara yang sama persis seperti bentuk produk variasi standar.

Berikut kode di dalam halaman produk tunggal saya:

<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>

Sebaliknya, produk sederhana berfungsi dengan baik. Saya telah menetapkan harga untuk variasi produk saya di admin. Tidak yakin mengapa tidak sesederhana mengirim data melalui. Setiap bantuan akan sangat dihargai.

ezekielDFM
sumber

Jawaban:

10

Saat ini saya bekerja di toko woocommerce v2.1.12 dan tampaknya mereka mengejar perilaku itu.

url ajax saya untuk menambahkan item ke troli harus terlihat seperti ini:

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

contoh:

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

ini menambahkan produk tertentu ke troli dan juga menetapkan atribut variasi dalam troli. Anda bahkan dapat mengatur kuantitas hanya dengan menambahkan&quantity=[VALUE]

pada akhirnya ini sangat berguna karena semua nilai-nilai ini diatur di dalam bidang kirim / pilih bidang, Anda hanya perlu mencari mereka ..

membunyikan 31
sumber
2
Catatan cepat - periksa bidang pilih variasi untuk nama atribut yang tepat. Biasanya menggunakan tanda hubung, sehingga Anda mendapatkan: & attribute_my-atribut-name = value
Imperative Ideas
9

Menemukan yang satu ini. Saya kehilangan beberapa parameter yang diperlukan untuk menambahkan produk variabel ke keranjang saya. Params yang hilang adalah variation_iddan tipe atribut yang variation_iddirujuk. Variasi id dapat ditemukan di admin> woocomerce> produk dan di bawah tab variasi di sebelah variasi produk yang telah Anda buat.

Param atribut dibentuk dari awalan attribute_dan kemudian nama atribut yang disanitasi. Sebagai contoh, atribut saya disebut Stock Colors, jadi param tipe atribut saya adalah attribute_stock-colors. Dari apa yang saya tahu, Anda hanya mengatur attribute_stock-colors=1karena metode add to cart hanya memeriksa untuk melihat apakah ada.

Berikut adalah contoh sederhana dari tautan yang menambahkan produk ke keranjang saya dengan id variasi 261 warna stok:

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

Untuk menggunakan ini dalam situasi nyata, Anda perlu mengatur jenis atribut dan id variasi secara dinamis dari opsi yang dipilih pengguna dalam drop-down atau sesuatu seperti itu (kecuali setiap produk memiliki variasi yang sama, yang pada dasarnya akan membuatnya menjadi produk yang simpel). ).

ezekielDFM
sumber