I siti di commercio elettronico sono realizzati per fini commerciali, ed i pulsanti “Acquista” e “Aggiungi al carrello” non spaventano nessuno.
Possono però esserci casi in cui queste voci ci stiano male, rispetto a quanto venduto, come ad esempio nei siti di e-commerce per attività no-profit o benefiche, contesti dove pulsanti così smaccatamente commerciali suonano davvero male.
Oppure in tutti quei casi dove si ritiene che, modificando i testi dei pulsanti di acquisto, l’esperienza di acquisto venga maggiormente agevolata o incentivata.
Qualunque sia la necessità di modificare il testo dei pulsanti di acquisto di WooCommerce, è possibile farlo modificando direttamente i files delle stringe di testo del plugin, ma non è un bel modo di procedere perché queste modifiche verrebbero inevitabilmente cancellate ad ogni aggiornamento del plugin.
Meglio allora uno snippet, una semplice aggiunta al file delle funzioni del tema in uso (meglio se un tema child), il classico functions.php.
È possibile intervenire su entrambe le tipologie di pulsante: “Acquista” (Buy Now) nelle pagine dei cataloghi, e “Aggiungi al carrello” (Add to Cart) nelle pagine dei singoli prodotti.
I codici vanno inseriti nel file functions.php del tema, e per motivi che dovremmo ormai conoscere tutti, sarebbe bene effettuare tutte le modifiche e le personalizzazioni in un tema child.
In entrambi i casi, va modificata solo la stringa “Testo Pulsante Personalizzato” della riga 5.
Nota bene: questi due snippet funzionano solo con WooCommerce 2.1 e versioni successive, e sono stati testati con successo su WordPress 4.2.1, WooCommerce 2.3.11 e tema Storefront.
Modificare il pulsante “Aggiungi al carrello” nella pagina del singolo prodotto di WooCommerce
Questa versione riguarda esclusivamente il pulsante di acquisto nelle pagine dei singoli prodotti di WooCommerce:
add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_text' ); function woo_custom_cart_button_text() { return __( 'Testo Pulsante Personalizzato', 'woocommerce' ); }
Modificare il pulsante “Aggiungi al carrello” nelle pagine Archivio di WooCommerce
Questa versione invece riguarda esclusivamente il pulsante di acquisto nelle pagine archivio di WooCommerce:
add_filter( 'woocommerce_product_add_to_cart_text', 'woo_custom_archive_cart_button_text' ); function woo_custom_archive_cart_button_text() { return __( 'Testo Pulsante Personalizzato', 'woocommerce' ); }
71 risposte
Funziona sulla versione 6.8.2 di Woocommerce inserendo le stringhe nel file Function.php del tema Green Eco Planet PRO Versione: 2.0 su WordPress 6.02
Grazie per il feedback 🙂
Ciao Roberto, ho utilizzato lo snippet per modificare il pulsante “Aggiungi al carrello” nelle pagine Archivio di WooCommerce, però ora avrei bisogno di tradurre lo stesso testo in altre lingue con WPML. Sapresti dirmi come fare? Perchè tra le stringhe di WPML non lo trovo.
Grazie mille
Ciao Chiara,
con le stringhe che non trovi puoi utilizzare il condizionale PHP applicato allo snippet, in pratica ne crei uno per lingua. Ecco come:
https://robrota.com/condizionale-php-wpml/
Ciao, grazie al precedente articolo: https://robrota.com/woocommerce-come-nascondere-categorie-prodotti-nella-pagina-shop/ sono riuscito a nascondere dalla vetrina gli articoli appartenenti alla categoria “English Version” (vedi: https://www.spiritofstlouis.it/prodotto/lindy-hop-100-cotton-col-kaki/)
Volevo sapere se è possibile tradurre i bottoni delle stesse pagine, andando sempre per categoria.
Quindi tradurre “metti nel carrello” una volta sola per tutte le pagine di questa categoria.
E anche se sia possibile indirizzare gli utenti stranieri verso il carrello tradotto in inglese creato duplicato e tradotto dalla versione italiana.
Grazie
Ciao Costantino,
probabilmente la traduzione do un pulsante legata ad una categoria è possibile, dovrei lavorarci per darti la conferma, mentre l’uso di carrello e checkout diversificati semplicemente duplicandoli questa la vedo dura, perché andrebbe contro i meccanismi di woocommerce.
A monte di tutto questo c’è un problema più importante, ossia la gestione di prodotti in inglese tramite una categoria, che è una pratica che ha più controindicazioni che utilità.
Intanto le pagine apparentemente in inglese per i motori di ricerca risultano comunque pagina di un sito in lingua italiana, e ti troveresti sempre con delle pagine tradotte per metà, molti componenti del sito rimarrebbero in italiano, a meno di non fare peripezie.
Ti consiglio caldamente di valutare una struttura multilingua efficace, WPML ad esempio, che ti permetterebbe di avere una struttura corretta e molto funzionale, con tutte le traduzioni al posto giusto, ti porterebbe molti vantaggi.
Se hai bisogno di assistenza non esitare a contattarmi.
rob
Ciao, i pulsanti “aggiungi al carrello” e “in Offerta” nella pagina del riepilogo prodotti in WooCommerce non appaiono centrati nella traduzione in italiano.
Come ovviare?
Grazie in anticipo.
giancarlo
Queste voci sono regolate da dei marcatori CSS, tipo .onsale per il badge “in offerta”, con cuoi è possibile personalizzarli.
Bisogna però verificare che il tema utilizzato non personalizzi a sua volta questi aspetti, aggiungendo altri marcatori.
Ciao,
ho cambiato il testo da “aggiungi al carrello” a “prenota ora” dato che gestisto un sito di case vacanze. In pratica il comando funziona, ossia il testo è cambiato, ma non funziona più il sistema di prenotazione e quindi ho rimesso tutto com’era ed è tornato funzionante.. da cosa potrebbe dipendere?
Strano, cambiare il testo non dovrebbe pregiudicare il funzionamento della funzione.
rob
Ho trovato questo ma non me lo aggiunge accanto al bottone “Aquista”
add_action( ‘woocommerce_single_product_summary’, ‘my_extra_button_on_product_page’, 30 );
function my_extra_button_on_product_page() {
global $product;
echo ‘Extra Button‘;
}
Il bottone dovrebbe rimandare ad una pagina del sito…sempre la stessa per tutti prodotti.
Ciao Roberto,
vorrei aggiungere un bottone accanto a quello “acquista”.
Pensi sia un’operazione semplice?
Grazie della disponibilità
Ciao,
non ho mai dovuto farlo, se scopro qualcosa ti dico.
rob
Ciao Roberto, sono riuscito grazie al tuo tutorial a sostituire il testo del pulsante “ACQUISTA” con “AGGIUNGI AL CARRELLO”, adesso però si è modificata anche la versione inglese (è un sito con woocommerce e WPML in due lingue), cosa devo modificare per far comparire nell inglese “ADD TO CART”? grazie infinite.
Devi includere un condizionale riguardante la lingua in uso, vedi PHP condizionale con WPML.
rob
Ciao Roberto.
Vorrei sapere se è possibile sostituire la funziona “acquista” con quella “vedi prodotto”, per rimandare l’utente alla pagina prodotto e non direttamente al carrello.
Ho visto che ti è già stato chiesto e hai risposto che c’erano dei plugin, ma non saprei come cercarli? hai dei suggerimenti da darmi?
Molte grazie e complimenti per il sito,
Valentina
Ciao Valentina, una ricerca per “replace woocommerce add to cart buttom” riporta molti risultati, tra cui questo: http://www.pootlepress.com/2014/10/replace-add-to-cart-button-woocommerce-shop-page/
È il primo che mi è capitato, da verificare, e magari in rete ci sono anche soluzioni più “pulite”
rob
Grazie mille.
Ho provato ad inserirli ma in realtà non succede nulla. Comunque è un inizio per cercare qualcosa di questo tipo, grazie 🙂
Sei poi riuscito a trovare come si modifica il testo “Per saperne di più”? Servirebbe anche a me …
Mi dispiace ma non ho ancora avuto modo di guardarci.
rob
Ciao roberto!
Complimenti per il sito 😉
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
Probabilmente è fattibile, ma richiede un intervento non da poco nel loop che genera i prodotti.
rob
Capisco! Grazie lo stesso 😀
Ciao Rob,
prima di tutti complimenti per l’aiuto alla community Woocommerce.
Posso confermati che tra tutti i plugin multilingua WPML è il migliore, 195 dollari spesi bene, i volta per tutti i siti che voglio.
Posso fare in modo che dal tasto “Acquista” non solo si aggiunga l’articolo al carrello ma ci sia un refresh alla pagina carrello?
Grazie,
Andrea
Ciao Andrea, che intendi per refresh del carrello? in teoria avviene ad ogni prodotto aggiunto, se non viene aggiornato nelle pagine probabilmente p un problema del tema.
rob
Si, l’articolo si aggiunge al carrello ma a quel punto è possibile andare al carrello in automatico?
Si certo, se cerchi in rete trovi parecchi snippet a tal proposito, probabilmente ne ho scritto pure io.
Probabilmente trovi anche qualche plugin, anche se è stupido secondo me inserire un plugin quando con due righe di codice risolvi il problema.
rob
Grazie mille Roberto per la celere risposta! purtroppo non mi pare che ceceppa li metta a disposizione, contatterò comunque lo sviluppatore… ma ho pensato a questo:
1. modifico i file php di woocommerce (perchè il testo che devo modificare è quello sorgente, l’inglese, non la traduzione…), in questo modo per la parte inglese sono ok
2. creo un nuovo file .po (e relativo .mo), utilizzando i miei nuovi php, e così sono ok anche con l’italiano, perchè a quel punto la traduzione italiana -che è già corretta nel mio caso, appunto perchè quello che devo modificare è l’inglese- viene collegata al testo sorgente giusto ed esistente. Mi chiedo però: la creazione del woocommerce-it_IT.po è qualcosa di molto complesso? Mi è capitato di maneggiare file .po già fatti, ma di crearne ex novo mai… Grazie di nuovo, se avrai qualche consiglio saranno ben accetti 🙂
Mi sembra una soluzione piuttosto incasinata, verifica che ceceppa ti permetta di usare i condizionali che è meglio, o passa a WPML.
rob
Ciao! Ho necessità di modificare i bottoni “add to cart” e “update cart”, rispettivamente in “Add to Shopping Bag” e “Update Shopping Bag”, in un e-commerce wordpress in cui sono presenti woocommerce e ceceppa multilingua (e relativo add on per woocommerce). La modifica mi occorre solo per l’inglese. Ho provato con il plugin woocommerce customizer, ma modifica entrambe le lingue, inglese e italiano, mostrando “Addo to Shopping Bag” e “Update Shopping Bag” nelle pagine sia inglesi che italiane; ho provato a modificare i file woocommerce-it_IT.po e woocommerce-it_IT.mo ma la modifica è come se non venisse rilevata nel front-end… avresti suggerimenti? Ti ringrazio molto!
Ciao Simona, non uso Ceceppa nei miei lavori, se fosse WPML ti direi di usare il suo condizionale PHP per usare lo snippet in una lingua e diversamente in un’altra, magari Ceceppa mette a disposizione condizionali simili.
rob
Ciao Roberto, innanzitutto grazie per l’utilissimo tutorial. Se invece volessi eliminare il pulsante Acquista dalla pagina del catalogo, come dovrei fare? Ti ringrazio!
Se devi eliminare il pulsante acquista solo dalle pagine archivio, ma non dalle pagine prodotto, puoi semplicemente nasconderli lavorando con i CSS, una cosa del genere:
div.add-to-cart-button {display:none !important;}
rob
ti ringrazio, funziona perfettamente!
ciao roby, come faccio a cambiare i colori dei pulsanti dei tasti acquista di woocommerce, sono orrendi! color topo anemico, inguardabili, grazie.
Devi personalizzare i CSS relativi ai pulsanti, se ispezioni il codice sul browser puoi verificare le classi che vanno modificate, e puoi simulare i colori da scegliere.
rob
Ciao Roberto ma una domanda dove devo andare a modificare queste classi cioè dove sulla funzione del te ma non ho capito bene
Alcuni temi nelle opzioni hanno una sezione per il CSS personalizzato, oppure puoi usare il file style.css in un tema child.
rob
ciao Rob! complimenti per le tue dritte!
stò impazzendo per cambiare il testo “per saperne di piu” sul catalogo woocom..
in rete nn si trova nulla a riguardo…help plese 🙂
grazie ciao!
Ciao, prova a guardare questa pagina: https://docs.woocommerce.com/document/change-add-to-cart-button-text/
rob
Ciao Rob, si può cambiare la dimensione del tasto “acquista? Intendi non solo le dimensioni del font, ma del tasto completo. Se si, per favore, puoi darmi qualche dritta?
Grazie, i tuoi post sono sempre utilissimi! 🙂
Ciao Orsola, ogni elemento è modificabile, più o meno.
I pulsanti si possono modificare tramite i CSS, a seconda del tema utilizzato ci possono essere marcatori diversi che vanno individuati e una volta fatto puoi definire dei CSS personalizzati con le nuove misure, caratteri, colori etc.
rob
Ciao Roberto, i tuoi sono sempre ottimi tutorial.
Mi chiedevo come fare qualora dovessi cambiare uno dei testi all’interno. Tipo sostituire “Crea un account inserendo le informazioni qui sotto. Se sei già iscritto, per favore accedi.” con “Crea un nuovo account inserendo la password qui sotto. Se sei già iscritto, per favore accedi in alto alla pagina”
Grazie
Ciao Yoko, puoi intervenire direttamente nelle traduzioni di WooCommerce, o intercettando la stringa con una funzione di php, in entrambi i casi non è una cosa banale.
rob
sono andata in wp-content/language/plugin per provare con le traduzioni (mi sembrava la soluzione meno “invasiva”)… ma il file sono .mo e .po e non ho la minima idea di che programma usare per aprirli
Ciao Roberto, io volevo sapere se c’è la possibilità di cambiare non il testo della pagina archivio dei prodotti ma la funzione che svolge. Ossia, sono su una categoria prodotto e prendendo in considerazione uno di questi, sostituire la dicitura “agg al carrello” con “vedi prodotto” e che quindi di conseguenza cliccandoci, invece di aggiungere il prodotto al carrello, di reindirizzare alla pagina del prodotto stesso. E’ possibile?
Ciao, diverso tempo fa mi è stata chiesta la stessa cosa, e ricordo di aver usato un plugin, ma è passato parecchio tempo e non mi ricordo più quale.
Se mi viene in mente dove l’ho fatta e con che plugin te lo dico.
rob
Ciao Roberto vorrei che cliccando sul pulsante acquista dalle pagine di categoria, l’utente entrasse nella pagina del prodotto così come succede cliccando sull’immagine. Come potrei fare?
grazie
Pia
Ciao Pia, ricordo che ci sono sia dei plugin che degli snippet che fanno quello che cerchi.
Se mi capita ti ritrovarli te li segnalo.
rob
ciao ho provato a incollare il codice nel file functions.php ma non funziona 🙁
Ciao Michele, forse il tuo tema ha qualche funzione propria che va in conflitto con lo snippet.
rob
Ciao Rob,
la versione di WooCommerce è la 4.2.1 può essere che il vostro script non funziona con la versione piu recente del plugin?
Ciao Michele, ho appena provato con le ultime versioni di WordPress e WooCommerce e gli snippet presi singolarmente funzionano.
Poteva esserci un problema se li utilizzi assieme, ed ho apportato una piccola modifica giusto ora che sistema questa eventualità.
rob
Ciao Roberto, complimenti per gli ottimi tutorial! Volevo chiederti se puoi darmi una dritta su come modificare il testo di “Vedi carrello”. Grazie!
Ciao Davide, non mi sono mai preoccupato di modificarlo, di solito il classico “vedi carrello” si adatta bene in tutte le situazioni.
Se mi viene qualche idea, o se trovo qualcosa in rete, te lo dico.
rob
Ciao Roberto, grazie per la celere risposta! In realtà, dopo numerosi “smanettamenti”, sono riuscito modificando il file della traduzione in italiano woocommerce-it_IT.po. Però (e non so per quale motivo) il testo restituito rimaneva “View Cart”. A questo punto ho aggiunto questo snippet al functions.php
function my_text_strings( $translated_text, $text, $domain ) {
switch ( $translated_text ) {
case 'View Cart' :
$translated_text = __( 'Procedi all\'acquisto', 'woocommerce' );
break;
}
return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );
Spero ti sia utile! Grazie e apresto!
Ciao Davide, grazie per il feedback.
Sì, quella di traslare la stringa è una soluzione sicuramente possibile, anche se credo che si dovrebbe arrivare a fare un filtro specifico che riguardi solo quella funzione, sicuramente più performante.
rob
Sì, è vero. Nel frattempo ho risolto il problema traducendo anche il file woocommerce-it_IT.mo (credo che il tema che ho installato utilizzi .mo e non .po per le traduzioni). E’ la soluzione più semplice, anche per cambiare qualsiasi altro testo generato da Woocommerce.
Davide
Buondì! Volevo chiederti come modificare il testo del pulsante SCEGLI (che appare in caso di prodotti con opzioni e prezzi differenti). A me servirebbe che diventasse “Configura”.
Ciao Lorenzo, guarda l’ultimo snippet di questa pagina: http://docs.woothemes.com/document/change-add-to-cart-button-text/ 😉
rob
Ciao e innanzitutto grazie della celere risposta! Ho provato a inserire lo snippet ma il sistema mi crasha (schermata bianca)… Ho dovuto ripristinare il file functions via ftp per far ripartire lo shop…
Appena ho due minuti lo provo e ti dico
rob
Ok, perchè preferirei trovare il modo di farlo via codice piuttosto che con WooCommerce Customizer. Grazie ancora e complimenti per il tuo lavoro!
Ti confermo che lo snippet funziona, provato in una installazione pulita.
rob
Ok, forse va in conflitto con altre modifiche che ho fatto. Riprovo. Grazie ancora.
Caro Roberto, ho provato ad inserire queste funzioni ma, in un sito che gestisco, non riesco a sostituire la dicitura “acquista” con “ordina” (purtroppo è una neccessità del cliente). Volevo chiederti se fosse possibile che tale dicitura possa essere in qualche file di traduzione che non conosco? Perché ho provato a cercare nei file di traduzione ma non ho trovato nulla.
Hai per caso idea di dove possa essere? 🙂
Grazie anticipatamente, sei grande!
Ciao Roberto, in genere quella scritta viene generata tramite una funzione, ed è per questo che la si modifica nello stesso modo.
A meno che il tema non decida di fare a modo suo, e allora devi vedere nei template del catalogo e del singolo prodotto, nella cartella woocommerce del tema.
rob
Grazie dell’hint, ha funzionato perfettamente! Ora sto però cercando anche di puntare ai restanti testi, come check out, aggiorna carrello etc ma non riesco a farlo perchè non riesco a trovarne la funzione. Consigli?
Ci sono stringhe che provengono da una funzione, altre invece che sono solo testo inserito nel tema.
rob