Nascondere i prezzi e la funzionalità di checkout in WooCommerce

11 mar 2013, 22:46:10
Visualizzazioni: 52.3K
Voti: 19

So che questa domanda potrebbe essere troppo generica, ma sto cercando un po' di indicazioni. Il mio cliente ha un negozio WooCommerce con 30-40 prodotti. Per qualche motivo non vogliono più vendere online, ma desiderano mantenere le pagine dei prodotti, le informazioni, ecc. sul loro sito web.

Esiste un modo, utilizzando gli hook o altri metodi, per nascondere elementi come prezzi, pulsante "aggiungi al carrello", ecc. in WooCommerce? O dovrei semplicemente modificare i file template PHP?

1
Commenti

Il supporto per WooCommerce e altri plugin/temi di terze parti è fuori tema e non rientra nell'ambito di questo stack. Dovresti chiedere assistenza attraverso i loro canali ufficiali di supporto o nei loro gruppi e community. Questa domanda è qui solo per motivi storici

Tom J Nowell Tom J Nowell
30 set 2021 14:56:12
Tutte le risposte alla domanda 3
3
23

Fortunatamente WooCommerce ha molti hook, questo codice rimuove prezzi e pulsanti:

remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );

Puoi approfondire esaminando i file content-product.php e content-single-product.php se hai bisogno di rimuovere altri elementi.

Immagino ci sia più di semplicemente prezzi/pulsanti che vuoi nascondere/rimuovere (come pagine/funzioni), questo tutorial ti dà alcuni suggerimenti

15 mar 2013 11:25:46
Commenti

Ho ragione nel pensare che quegli hook debbano essere inseriti in functions.php? Se è così, c'è una sezione particolare in cui devo inserirli? Se funzionano, presumibilmente la funzionalità del carrello non sarà più visibile, a parte qualche stile, è corretto?

James James
1 dic 2013 16:41:13

sì, puoi inserirli in functions.php e non importa dove li metti all'interno di un'altra funzione. Di solito alla fine del file è la soluzione più sicura, purché non li metti dopo l'ultimo ?>. Questo non rimuoverà la pagina del carrello, ma effettivamente rimuoverà la possibilità di aggiungere qualsiasi cosa al carrello. Se non vuoi vedere la pagina del carrello da nessuna parte, dovresti essere relativamente al sicuro.

Ewout Ewout
5 dic 2013 11:10:35

Funziona. Ma è strano. Dopo aver applicato questo, le immagini dei prodotti hanno smesso di apparire. Mostra uno spazio vuoto per la loro posizione, e quando passo il mouse sopra e clicco su di esse, mi mostra l'immagine corretta. Hai un'idea sul perché sta succedendo?

Brethlosze Brethlosze
2 ago 2016 20:08:06
2
13

Estendendo il codice sopra (grazie Ewout), il seguente codice eliminerà tutti i prezzi e i pulsanti 'aggiungi al carrello' su tutti i prodotti woocommerce, oltre a fornire una spiegazione del perché. Avevo bisogno di questo codice per un sito che offre prodotti di vendita diretta e, per conformarmi alle loro regole, non posso mostrare i prezzi al pubblico generico.

Aggiungi il filtro al file functions.php del tuo tema.

    add_filter('woocommerce_get_price_html','members_only_price');

    function members_only_price($price){

if(is_user_logged_in() ){
    return $price;
}

else {
    remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart' );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
    remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
    remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );
    return 'Solo gli <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Utenti Registrati</a> possono visualizzare i prezzi.';
      }

}
15 dic 2013 13:05:49
Commenti

Questo è strano. Dopo aver applicato questo, le immagini dei prodotti hanno smesso di apparire. Mostra uno spazio vuoto al loro posto, e quando passo il mouse sopra e clicco su di esse, mi mostra l'immagine corretta. Hai un'idea sul perché questo stia accadendo?

Brethlosze Brethlosze
2 ago 2016 20:08:12

Questo codice non funziona in WooCommerce v3.2.1 :-)

Steve Steve
19 ott 2017 05:44:26
0
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );

Questo codice impedirà completamente il checkout e nasconderà tutti i prezzi attraverso:

  • Rendendo tutti i prodotti non acquistabili (riga 1)
  • Svuotando l'HTML del prezzo (riga 2)
22 ago 2017 04:35:35