Controllare se un prodotto è già presente nel carrello – WooCommerce

Tempo di lettura: 2 minuti

Ecco a voi uno snippet che vi permette di controllare e segnalare se un prodotto è già stato inserito nel carrello.

In sostanza, se un prodotto è già stato inserito nel carrello, al posto della dicitura ( sul bottone ) “AGGIUNGI AL CARRELLO”, apparirà per esempio “GIA PRESENTE NEL CARRELLO”.

verificare-prodotto-woocommerce-già-presente-nel-carrello

E possibile modificare la stringa anche all’interno del prodotto.

Controllare-prodotto-già-nel carrello-Woocommerce

Basta cambiare semplicemente il testo allinterno del codice. (dove è presente il commento con la spiegazione).

Inserite questo codice allinterno del file functions.php del vostro tema. Miraccomando fate sempre un backup di sicurezza.

add_filter(woocommerce_product_single_add_to_cart_text, woo_custom_cart_button_text);

function woo_custom_cart_button_text() {

    foreach (WC()->cart->get_cart() as $cart_item_key => $values) {
        $_product = $values[data];

        if (get_the_ID() == $_product->id) {
            /**
             * Appena qui sotto, basta che cambiate la frase con quella che volete
             */
            return __(Gia nel carrello - Aggiungi di nuovo ?, woocommerce);
        }
    }

    return __(Add to cart, woocommerce);
}

add_filter(woocommerce_product_add_to_cart_text, woo_archive_custom_cart_button_text);

function woo_archive_custom_cart_button_text() {

    foreach (WC()->cart->get_cart() as $cart_item_key => $values) {
        $_product = $values[data];

        if (get_the_ID() == $_product->id) {
            /**
             * Cambiate in questa sezione la stringa
             */
            return __(Gia nel carrello, woocommerce);
        }
    }

    return __(Add to cart, woocommerce);
}

Qualche dubbio o suggerimento? Lascia un commento e parliamone.

2 commenti su “Controllare se un prodotto è già presente nel carrello – WooCommerce”

  1. Ciao Emiliano!
    Complimenti per il sito, ho trovato un sacco di soluzioni ai miei problemi di novello programmatore 😛
    Ti volevo chiedere se secondo te c’è la possibilità di modificare la pagina “negozio” di woocommerce così:

    – vorrei aggiungere, oltre al pulsante “acquista” che aggiunge 1 prodotto al carrello, un pulsante che toglie il prodotto dal carrello.

    Ti faccio un esempio:

    ho la lista di prodotti che vendo ed accanto ad ogni prodotto vorrei 2 pulsanti, uno che aggiunge 1 quantità e uno che toglie 1 quantità dal carrello.

    Pensi che sia possibile una modifica del genere?
    Grazie
    Giosi

    1. Ciao Giosi,

      mi fa piacere che il mio sito ti abbia aiutato. 🙂

      Potresti provare a fare una cosa di questo tipo :
      – Installa questo plugin che permette di pulire il carrello –> https://srd.wordpress.org/plugins/woo-empty-cart-button/
      – Successivamente copia ed incolla questo codice all’interno del file functions.php, che permette di aggiungere un nuovo pulsante. (In questo specifico caso ho richiamato il bottone che pulisce il carrello dal plugin menzionato sopra) –> sempre per sicurezza fai un backup del file corrente.

      add_action(‘woocommerce_after_shop_loop_item’,’aggiungi_pulsante’);
      function aggiungi_pulsante() {
      global $product;
      $link = $product->get_permalink();
      echo do_shortcode(‘[wec_button]’); /* cambiate la stringa in base a quello che volete scrivere */
      }

      Il risultato sarà questo :
      prova-codice

      In questo modo pulisci totalmente il carrello.
      Diciamo che però se vuoi aggiungere una funzione che permette di rimuovere una sola quantità e strettamente legata al prodotto aggiunto al carrello, bisogna creare qualcosa di più personalizzato.

      Fammi sapere se ti è stato d’aiuto.

      Un saluto

Lascia un commento