Nascondi i prezzi e la funzionalità di pagamento in woocommerce


17

So che questa domanda potrebbe essere troppo ampia, ma sto cercando un po 'di direzione. Il mio cliente ha un negozio di woocommerce con 30-40 prodotti. Per qualsiasi motivo non vogliono più vendere online, ma vogliono conservare le pagine dei prodotti, le informazioni, ecc. Sul loro sito web.

C'è un modo, usando ganci o altro, per nascondere cose come i prezzi, aggiungere al pulsante carrello, ecc. Nel woocommerce? O dovrei solo modificare i file modello php?

Risposte:


23

fortunatamente il woocommerce ha molti ganci, questo 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 scavare content-product.phpe content-single-product.phpse hai bisogno di rimuovere più cose.

Posso immaginare che non ci siano solo i prezzi / i pulsanti che vuoi nascondere / rimuovere (come pagine / funzioni), questo tutorial ti dà alcuni suggerimenti


Ho ragione nel pensare che quei ganci debbano essere inseriti in Functions.php? In tal caso, c'è una sezione particolare in cui devo inserirli? Se funzionano, presumibilmente la funzionalità del carrello non sarà più visibile, a parte qualche stile, è giusto?
James,

1
sì, puoi metterli in Functions.php e non importa dove li metti all'interno di un'altra funzione. Di solito fino alla fine del file è il più sicuro, purché non li inserisca dopo l'ultimo ?>. Questo non rimuoverà la pagina del carrello, ma in realtà rimuoverà la possibilità di aggiungere qualcosa al carrello. Se non ti piace la pagina del carrello ovunque dovresti essere relativamente al sicuro.
Ewout

Funziona. Ma questo è strano. Dopo l'applicazione, vengono visualizzate le immagini del prodotto interrotte. Mostra uno spazio vuoto per la loro posizione e quando passo il mouse su di essi e faccio clic su di essi, mi mostrano l'immagine corretta. Hai un'idea sul perché sta succedendo?
Brethlosze,

13

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

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 'Only <a href="' .get_permalink(woocommerce_get_page_id('myaccount')). '">Registered Users</a> are able to view pricing.';
      }

}

Questo è strano. Dopo l'applicazione, vengono visualizzate le immagini del prodotto interrotte. Mostra uno spazio vuoto per la loro posizione e quando passo il mouse su di essi e faccio clic su di essi, mi mostrano l'immagine corretta. Hai un'idea sul perché sta succedendo?
Brethlosze,

Questo codice non funziona in WooCommerce v 3.2.1:-)
Steve

1
add_filter( 'woocommerce_is_purchasable', '__return_false' );
add_filter( 'woocommerce_get_price_html', '__return_empty_string' );

Ciò impedirà totalmente il pagamento e nasconderà tutti i prezzi tramite:

  • Rendere non acquistabili tutti i prodotti (linea 1)
  • Svuotare il prezzo HTML (riga 2)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.