Woocommerce Aggiungi prodotto variazione al carrello dal collegamento personalizzato [chiuso]


15

Sto cercando di aggiungere un prodotto con variazioni al mio carrello direttamente tramite un link. Sto impostando la variazione_id con la stringa di query. Per quanto ne so, sto inviando i dati esattamente come il modulo del prodotto con variazioni predefinite.

Ecco il codice all'interno della mia pagina per singolo prodotto:

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

Al contrario, il prodotto semplice funziona bene. Ho impostato i prezzi per le mie variazioni di prodotto nell'amministratore. Non so perché non sia così semplice come inviare i dati. Qualsiasi aiuto sarebbe molto apprezzato.

Risposte:


10

attualmente lavoro in un negozio di woocommerce v2.1.12 e sembra che abbiano inseguito quel comportamento.

il mio URL Ajax per aggiungere articoli al carrello deve apparire così:

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

esempio:

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

questo aggiunge un prodotto specifico al carrello e imposta anche gli attributi di variazione nel carrello. puoi persino impostare la quantità semplicemente aggiungendo&quantity=[VALUE]

alla fine questo è utile poiché tutti questi valori sono impostati all'interno del modulo di invio / seleziona i campi, devi solo cercare quelli ..


2
Nota rapida: ispezionare il campo di selezione delle variazioni per il nome dell'attributo corretto. Di solito usa trattini, quindi ottieni: & attributo_mio-attributo-nome = valore
Idee imperative

9

Capito questo. Mi mancavano un paio di parametri necessari per aggiungere un prodotto variabile al mio carrello. I parametri mancanti sono il variation_idtipo di attributo a cui variation_idsi riferisce. L'ID variante è disponibile in admin> woocomerce> prodotti e nella scheda varianti accanto alla variante prodotto che hai creato.

L'attributo param viene formato dal prefisso attribute_e quindi dal nome dell'attributo sanificato. Ad esempio, il mio attributo si chiama Stock Colors, quindi il mio tipo di attributo param è attributo_stock-colours. Da quello che posso dire, hai appena impostato attribute_stock-colors=1perché il metodo Aggiungi al carrello controlla solo se esiste.

Ecco un semplice esempio di un link che aggiunge un prodotto al mio carrello con ID variazione 261 di colori di serie:

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

Per utilizzarlo in una situazione reale, è necessario impostare il tipo di attributo e l'id di variazione in modo dinamico dalle opzioni che l'utente ha scelto in un menu a discesa o qualcosa del genere (a meno che ogni prodotto non abbia la stessa variazione, il che sostanzialmente lo renderebbe un prodotto semplice ).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.