Un utente ha chiesto informazioni su Fixing WordPress di Wordpress

Aggiungi automaticamente articolo al carrello Woocommerce

Un utente ha chiesto 👇

Quindi ho un codice che utilizzo per aggiungere automaticamente un prodotto gratuito al carrello quando l’utente ha un carrello di $ 25 o più. Questa parte del puzzle funziona perfettamente, così come la rimozione dell’oggetto se il totale scende al di sotto di $ 25. Il mio problema è che l’oggetto non può essere rimosso manualmente. L’utente non ha la possibilità di scegliere se desidera o meno l’articolo gratuito e quando si tenta di fare clic sul pulsante di rimozione, la pagina del carrello si aggiorna e l’articolo è ancora lì. Ecco il codice che sto usando:

/ *
* Aggiungi automaticamente il catalogo al grafico quando viene raggiunta la dimensione totale del grafico
a $ 25.
* /
function aapc_add_product_to_cart () {
$ global woocommerce;

$ cart_total = 25;
if ($ woocommerce-> cart-> full> = $ cart_total) {
if (! is_admin ()) {
$ free_product_id = 101861; // Prodotto senza ID prodotto da aggiungere al carrello
$ trovato = falso;
// controlla se il prodotto è già in un grafico
if (sizeof (WC () -> cart-> get_cart ())> 0) {
foreach (WC () -> cart-> get_cart () di $ cart_item_key => $ valori) {
$ _product = $ valori[‘data’];
if ($ _product-> get_id () == $ free_product_id)
$ trovato = vero;
}
// se non viene trovato alcun prodotto, aggiungilo
if (! $ trovato)
WC () -> carrello-> add_to_cart ($ free_product_id);
} altro {
// se non ci sono prodotti in un grafico, aggiungilo
WC () -> carrello-> add_to_cart ($ free_product_id);
}
}
}
}
add_action (‘template_redirect’, ‘aapc_add_product_to_cart’);

add_action (‘template_redirect’, ‘remove_product_from_cart’);
function remove_product_from_cart () {
// Esegui solo nel carrello o nella pagina di pagamento
$ global woocommerce;
$ current = WC () -> cart-> cart_contents_total;
$ importo_min = 25;
$ prod_to_remove = 101861;
if (current $ <$ min_amount) {
if (is_cart () || is_checkout ()) {

// Passa da un prodotto all’altro nel grafico
foreach (WC () -> cart-> cart_contents mar $ prod_in_cart) {
// Ottieni la modifica o l’ID prodotto
$ prod_id = (isset ($ prod_in_cart[‘variation_id’] ) &&
$ prod_in_cart[‘variation_id’] ! = 0)? $ prod_in_cart[‘variation_id’] :
$ prod_in_cart[‘product_id’];
// Controlla se gli ID sono compatibili
if ($ prod_to_remove == $ prod_id) {
// Trova il suo ID univoco all’interno della Carta
$ prod_unique_id = WC () -> carrello-> gene_cart_id ($ prod_id);
// Rimuoverlo dal grafico correggendolo
unset (WC () -> cart-> cart_contents[$prod_unique_id] );
}
}
}
}
}

Questo argomento è stato modificato 1 anno, 9 mesi fa da.

(@sterndata)

Moderatore del forum e volontario del team di supporto

1 anno, 9 mesi fa

Suggerisco di porre domande su https://wordpress.org/support/plugin/woocommerce#new-post in modo che gli sviluppatori e la comunità di supporto del plugin possano aiutarti in questo.

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *