Woocommerce - Nascondi il pulsante "Aggiungi al carrello" per i prodotti gratuiti
Sto utilizzando Woocommerce e sto cercando un modo per nascondere il pulsante "Aggiungi al carrello" nella
pagina del singolo prodotto SE il prodotto è gratuito - Sto facendo un grande import CSV e alcuni prezzi dei prodotti sono impostati a zero - voglio solo nascondere il pulsante "aggiungi al carrello" per questi prodotti, in modo che non siano acquistabili.
Ho già chiesto questo sulla pagina di supporto, ma senza successo
Saluti
Guarda l'inizio dei template per l'aggiunta al carrello in WooCommerce. All'inizio c'è un controllo per determinare se il prodotto è acquistabile. All'interno del metodo is_purchasable()
nella classe prodotto c'è un filtro. Di default il prodotto non è acquistabile se non è impostato alcun prezzo, ma questo può essere esteso per includere prodotti per cui il prezzo è impostato a 0.
function wpa_109409_is_purchasable( $purchasable, $product ){
if( $product->get_price() == 0 )
$purchasable = false;
return $purchasable;
}
add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 );

@helgatheviking, le tue numerose risposte qui sono inestimabili. Continuo a trovarle ancora e ancora! grazie!

Prego @peteroak, sono contento che ti siano state utili. Passo troppo tempo qui :) (più su SO ora nel tag WooCommerce, ma comunque)

SÌ! Stavo aggiungendo una quantità ridicola di condizionali ai file template per verificare un valore proprietario e vedere se un utente poteva acquistare un prodotto. Ho invece usato questo filtro (che per qualche motivo mi era completamente sfuggito) - RISOLTO! Grazie, Kathy.

Ciao @helgatheviking, è possibile aggiungere una descrizione del prodotto o un messaggio nella pagina per quei prodotti specifici quando sono nascosti dal carrello?

ho trovato una soluzione agganciandomi a "woocommerce_single_product_summary" con "$product->is_purchasable()"

Per qualche motivo il nostro sito non mostrava il pulsante "Aggiungi al carrello" per un prodotto con prezzo 0.00, quindi abbiamo aggiunto questo codice e ora mostra il pulsante anche per prodotti che non hanno alcun prezzo inserito (preferiremmo che non ci fosse il pulsante in questi casi). Qualche suggerimento? add_filter( 'woocommerce_is_purchasable', 'wpa_109409_is_purchasable', 10, 2 ); function wpa_109409_is_purchasable( $purchasable, $product ){ if( $product->get_price() >= 0.00) $purchasable = true; return $purchasable; }

Per come ho capito il tuo problema.. WooCommerce ha un'opzione per cui quando non inserisci alcun prezzo, non viene visualizzato alcun pulsante..
Il tuo prodotto diventa semplicemente una galleria/catalogo normale..
Se è questo quello che stai cercando.. forse il modo più semplice sarebbe modificare il tuo file csv.. basta trovare e sostituire gli zeri con uno spazio vuoto..
