Woocommerce - Nascondi il pulsante "Aggiungi al carrello" per i prodotti gratuiti

8 ago 2013, 11:47:11
Visualizzazioni: 16.2K
Voti: 4

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

2
Commenti

Hai il codice del tuo single-product.php?

fischi fischi
8 ago 2013 11:54:13

Sì, ma non credo che sarebbe d'aiuto dato che le modifiche al single-product.php non hanno alcun effetto su questo problema. Qualcuno mi ha detto di "creare una nuova funzione agganciata a init che controlla il prezzo di un prodotto, se è zero rimuove il pulsante aggiungi al carrello usando remove_action()"

Quindi sì, non sono bravo nella programmazione e non riesco a farlo da solo. Spero che questo aiuti :)

user36383 user36383
8 ago 2013 12:10:57
Tutte le risposte alla domanda 2
7

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 );
9 ago 2013 00:06:26
Commenti

Grazie mille! Questa era esattamente la soluzione al mio problema!

user36383 user36383
13 ago 2013 10:53:15

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

pcarvalho pcarvalho
14 ago 2016 06:37:53

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

helgatheviking helgatheviking
14 ago 2016 23:02:53

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.

indextwo indextwo
31 ott 2016 15:46:45

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

Gregory Gregory
15 dic 2020 18:36:20

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

Gregory Gregory
15 dic 2020 18:43:57

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; }

Crazeco.com.au Crazeco.com.au
27 ago 2022 15:07:51
Mostra i restanti 2 commenti
0

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..

8 ago 2013 23:26:51