Adăugare Produs cu Variații WooCommerce în Coș din link personalizat

14 feb. 2013, 23:49:37
Vizualizări: 35.8K
Voturi: 17

Încerc să adaug un produs cu variații în coșul meu direct printr-un link. Setez variation_id prin query string. Din câte îmi dau seama, trimit datele exact în același mod în care o face formularul implicit pentru produsele cu variații.

Iată codul din pagina mea single-product:

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=262" class="rounded-rect-button add-to-cart">Adaugă în Coș</a>

Pe de altă parte, produsul simplu funcționează bine. Am setat prețuri pentru variațiile produsului meu în panoul de administrare. Nu sunt sigur de ce nu este la fel de simplu precum trimiterea datelor. Orice ajutor ar fi foarte apreciat.

0
Toate răspunsurile la întrebare 2
1
13

În prezent lucrez la un magazin WooCommerce versiunea 2.1.12 și se pare că au schimbat acel comportament.

URL-ul meu AJAX pentru adăugarea produselor în coș trebuie să arate astfel:

?add-to-cart=[ID-PRODUS]&variation_id=[ID-VARIATIE]&attribute_[NUME-ATRIBUT]=[SLUG-ATRIBUT]&attribute_[NUME-ATRIBUT]=[SLUG-ATRIBUT]

exemplu:

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

Aceasta adaugă un produs specific în coș și setează și atributele variației în coș. Poți chiar să setezi cantitatea adăugând simplu &quantity=[VALOARE]

În final, acest lucru este util deoarece toate aceste valori sunt setate în formularul de trimitere / câmpurile de selectare, trebuie doar să le cauți..

28 aug. 2014 11:10:39
Comentarii

Notă rapidă - inspectează câmpul de selectare al variațiilor pentru numele corect al atributului. De obicei folosește cratime, deci vei obține: &attribute_numele-atributului-meu=valoare

Imperative Ideas Imperative Ideas
27 mar. 2015 23:23:38
0

Am rezolvat această problemă. Îmi lipseau câțiva parametri necesari pentru a adăuga un produs variabil în coșul meu. Parametrii lipsă sunt variation_id și tipul de atribut la care se referă variation_id. ID-ul de variație poate fi găsit în admin > WooCommerce > Produse și sub fila de variații lângă variația de produs pe care ai creat-o.

Parametrul atributului este format din prefixul attribute_ și apoi numele atributului sanitizat. De exemplu, atributul meu se numește Culori Stoc, deci parametrul meu de tip atribut este attribute_culori-stoc. Din câte am înțeles, doar setezi attribute_culori-stoc=1 deoarece metoda de adăugare în coș verifică doar dacă acesta există.

Iată un exemplu simplu de link care adaugă un produs în coșul meu cu ID-ul de variație 261 pentru culori stoc:

<a href="<?php echo esc_url( $product->add_to_cart_url() ); ?>&variation_id=261&attribute_culori-stoc=1">Adaugă în Coș</a>

Pentru a utiliza acest lucru într-o situație reală, ar trebui să setezi tipul de atribut și ID-ul de variație dinamic din opțiunile alese de utilizator într-un meniu drop-down sau ceva similar (cu excepția cazului în care fiecare produs are aceeași variație, ceea ce l-ar transforma practic într-un produs simplu).

18 feb. 2013 17:10:00