In WooCommerce, la visualizzazione delle variazioni disponibili è direttamente collegata alla disponibilità dei prodotti.
Se si imposta WooCommerce in modo che i prodotti non disponibili non siano mostrati nello store, anche le variazioni non disponibili dei prodotti non saranno mostrate.
Succede così che in una t-shirt risultino solo due taglie nell’elenco, perché le altre sono esaurite, e per molti potrebbe essere un segno di scarsità nell’assortimento.
Se invece si lasciano visibili i prodotti non disponibili, lo saranno anche le variazioni esaurite, ed il cliente scopre solo dopo averle selezionate che non può ordinarle, e pure questo non è molto simpatico.
Una soluzione molto intuitiva, lasciando visibili (ma segnalati come tali) i prodotti esauriti, è quella di rendere grigie e non selezionabili le variazioni non disponibili.
Ecco come fare.
Un semplice snippet, ossia poche righe di codice PHP, risolvono il problema:
/** Gestisci variazioni non disponibili non selezionabili e in grigio */ function gray_variation_not_active( $active, $variation ) { if( ! $variation->is_in_stock() ) { return false; } return $active; } add_filter( 'woocommerce_variation_is_active', 'gray_variation_not_active', 10, 2 );
Lo snippet va copiato e inserito nel file functions.php del tema, se si dispone di un tema child, oppure utilizzando un plugin come Code Snippets.
Come sempre, meglio fare un backup completo prima di procedere.