In WooCommerce è possibile creare prodotti con diverse varianti. Immaginiamo di avere una situazione come la seguente:
In questo caso la prima variante di colore non è disponibile in alcuna taglia e se la proviamo a selezionare ci compare un avviso che ci dice che non c’è alcun prodotto selezionabile. Per evitare che il cliente debba testare tutte le combinazioni inutilmente WooCommerce, sotto a 10 variazioni per prodotto, tende a nascondere automaticamente le combinazioni inesistenti.
Quando però, come in questo caso, il numero di variazioni aumenta per motivi di prestazioni l’opzione non è attiva. Per aumentare tale limite basta aggiungere a functions.php nel nostro tema le seguenti righe di codice:
1 2 3 4 5 |
function custom_wc_ajax_variation_threshold( $qty, $product ) { return 500; } add_filter( 'woocommerce_ajax_variation_threshold', 'custom_wc_ajax_variation_threshold', 10, 2 ); |
A questo punto vedremo un risultato come il seguente (abbiamo impostato il limite a 500):
Si può notare come il primo colore, assieme ad altri, è automaticamente sparito.
ciao, utilissimo il tuo intervento! grazie
Nel caso in cui però uno avesse 4 varianti, ho provato il tuo codice ma non funziona sulla terza e quarta variante. C’è qualcosa da modificare?
Il limite di 500 rappresenta il limite di variazioni da mostrare. Se hai 4 varianti con 10 valori ciascuna vuol dire che hai 10^4 variazioni, ovvero 10.000 possibili variazioni. Il limite da impostare sarebbe 10.000. Se per ciascuna variante avessi 5 combinazioni sarebbe 5^4 ovvero 625.
Occhio che più sono le variazioni e più carico ci sarà sul processore, rallentando di conseguenza il sito.