Quando un prodotto non è disponibile in WooCommerce, perché manca la disponibilità nelle scorte di magazzino, compare la scritta “Out of stock”, o “Esaurito” nella versione italiana.
A volte è utile modificare questa dicitura, ad esempio quando si tratta di prodotti unici, dove al posto di “Esaurito” ci starebbe meglio un “Venduto” o “Momentaneamente non disponibile”.
Ecco come fare.
Come al solito, ci viene in aiuto un semplice snippet, da inserire nel file delle funzioni del tema functions.php.
add_filter( 'woocommerce_get_availability', 'get_alternative_availability', 1, 2); function get_alternative_availability( $availability, $_product ) { // Modifica testo Out of Stock if ( ! $_product->is_in_stock() ) { $availability['availability'] = __('Non disponibile', 'woocommerce'); } return $availability; }
La nuova dicitura va inserita nella sesta riga, al posto di “Non disponibile”, che ho utilizzato come esempio.
Nota bene: lo snippet potrebbe non funzionare su quei temi o plugin che personalizzano con script propri le pagine di WooCommerce, in tal caso bisogna consultare la documentazione dei temi e/o plugin in questione.
Adattamento di un articolo originale del 4/9/14.
Testato su WooCommerce 3.9.2 e tema Storefront.
30 risposte
Complimenti per lo script, si e’ rivelato utile. Un’osservazione: non funziona se il prezzo dell’articolo non viene inserito.
Ciao Giovanni, grazie per il feedback e per l’osservazione, davvero strana perché lo snippet non va a guardare il prezzo del prodotto. Probabilmente il fatto che non ci sia il prezzo incide su altri parametri. Proverò a guardarci appena posso.
rob
Ciao Roberto,
io sul sito https://www.interno09.com/categoria-prodotto/uomo/saldi/ ho la scritta esaurito anche se in realtà sono esaurite solo alcune tra tutte le taglie disponibili, come posso risolvere questo problema? In caso sarebbe possibile eliminare completamente la dicitura esaurito?
Grazie in anticipo
Ciao Gabriele, ovviamente dovrei poterci guardare, ma sarei pronto a scommetterci che si tratta di impostazioni errate nella gestione delle giacenze.
Rob
Buongiorno Roberto,
ottimo suggerimento, ti chiedo un ultimo consiglio.
lo script funziona alla grande in pagina prodotto, ma se volessi fare la stessa cosa nello shop con tutti i prodotti ? è possibile ? perche nello shop con tutti i prodotti rimane ancora la scritta “esaurito”
a presto e grazie mille
Strano, dovrebbe funzionare anche nelle pagine archivio.
Faccio qualche verifica
come posso modificare la parola “availability” in “Disponibilità”, Grazie
In teoria WooCommerce è già tradotto bene, non è che la voce “availability” è del tema o di qualche altro plugin? Perché in tal caso devi tradurre quello.
Salve Roberto, avrei bisogno di un aiuto, ho inserito sul mio sito http://www.imperialnailsofficial.com delle variazioni di prodotto, ma sulla vetrina volevo ch si vedesse solo una variazione, come posso fare? Grazie
Ciao Chiara, scusa il ritardo.
Non riesco a capire il problema. i prodotti variabili come tali deve essere possibile una scelta tra le variazioni, puoi proporne una di default ma la scelta rimane, e nella pagina shop comunque te li mostra con il pulsante “opzioni” invece del diretto “aggingi al carrello”
Ciao Roberto, grazie al tuo suggerimento sono riuscito a modificare la scritta nella scheda prodotto. Però ho un problema: nella pagina shop, dove compaiono tutti i prodotti, per quelli esauriti nel mio tema esce una scritta sovrimpressa all’immagine del prodotto che dice “esaurito”. Come faccio a cambiare anche questa? Evidentemente c’è bisogno di un altro filtro, ma non sono stato capace di trovarlo per modificarlo.
ciao Roberto. grazie per i tuoi numerosi consigli. sul mio woocommerce vorrei cambiare la scritta “Il prodotto non è attualmente in magazzino e non disponibile.” che appare quando in un prodotto variabile non ci sono variazioni. Puoi dirmi come fare? ho già usato con successo altri tuoi suggerimenti di modifica tipo la scritta del tasto. Grazie
Buongiorno, ho provato anche io a fare l’operazione che hai detto tu ma non funziona.
Come faccio?
Grazie
Ciao Margherita, sei certa di aver fatto nel modo corretto?
A meno di qualche incompatibilità con il tema o altri plugin di solito funziona.
rob
Cio Roberto,
mi è stata fatta una richiese abbastanza strana, sito ecommerce del cliente dove vende creme, vuole utilizzare la gestione magazzino (e fin qui nessun problema) solo che non tutte le creme le tiene a magazzino, quindi su alcune creme (che per la gestione di woo commerce sono “esaurite”) vuole che si possano acquistare lo stesso e che appaia una dicitura “Disponibile in 10 giorni dopo l’acquisto”.
È chiaro il concetto? Ti è mai capitata una cosa simile? Oppure ti viene in mente come bypassare il problema?
Grazie infinite.
Andrea
La gestione del pre-order è abbastanza richiesta.
Ci sono plugin che lo gestiscono, come quello venduto nello store woocommerce https://woocommerce.com/products/woocommerce-pre-orders/
Se cerchi in rete ne trovi anche altri, ma io ho sempre lavorato con questo, gli altri non saprei dirti come vanno.
rob
Ciao Roberto, inserendo il tuo snippet nel file functions.php del mio tema non succede niente.. probabilmente sbaglio io ad inserirlo visto che non l’ho mai fatto.. ho provato a metterlo sia all’inzio del testo che alla fine ma non cambia niente, potresti spiegarmi come copiarlo dentro al mio .php? Grazie!!
Ciao Alessio, lo snippet funziona sicuramente anche con l’ultima versione di WooCommerce (2.5.5), appena provato.
Va inserito esattamente com’è nel file functions.php, meglio se di un tema child, dopo
e prima dell'eventuale
?>
di chiusura.Attenzione che facendo copia/incoplla le virgolette non diventino curve.
rob
Ciao Roberto, anch’io ho lo stesso problema…
ho inserito lo snippet nel functions.php del mio child che era vuoto (???)
Quando apro la bacheca di wp il codice mi appare in alto della bacheca (?)
Se vado nel Prodotto non trovo la modifica in “venduto”
Sylunder
Ciao Silvano, da quello che dici lo snippet è inserito in modo errato, bisognerebbe poterci guardare per capire dov’è il problema.
rob
Scusa ma è normale che functions.php sia vuoto?
Nei temi child sì, vuoto o quasi.
Ciao Roberto,
Sto lavorando ad un e-commerce e mi piacerebbe sapere in che modo è possibile far apparire un PNG in sovrimpressione sull’immagine del prodotto quando non è più disponibile in stock.
Ci sono snippets che fanno al caso?
Ciao Nick, personalmente non mi è mai stato chiesto e non ho uno snippet pronto all’uso, ma visto che ci sono alcuni temi che mettono a disposizione questa possibilità, come anche dei plugin come questo, immagino che sia fattibile.
Se mi capita qualcosa tra le mani potrebbe essere un interessante spunto per un futuro articolo. 😉
rob
Buonasera Roberto, ho inserito il codice nel file functions.php del tema, ma non cambia la dicitura da out of stock a per esempio venduto. Mi potrebbe aiutare ? Un grazie mille per ora. Mauro
Ciao Mauro, grazie per avermi fatto notare il problema, ho appena verificato e in effetti con l’ultima versione di WooCommerce non sembra funzionare.
Evidentemente qualche aggiornamento ha cambiato le carte in tavola, e lo snippet necessita di essere rivisto.
Appena riesco lo faccio.
Per ora aggiungo una nota nel post, per avvisare altri lettori.
rob
Rettifico, ho provato una piccola variante che sembra funzionare, ho provato sia in temi che non sovrascrivono i template di woocommerce che in alcuni che invece lo fanno.
Ho aggiornato lo snippet.
rob
danke …
bitter!
(non è un errore, mi merito un aperitivo! 😉 )