WooCommerce: come visualizzare i prezzi solo agli utenti registrati

Come visualizzare i prezzi solo agli utenti registrati su WooCommerce

Se hai un negozio online creato con WooCommerce e hai la necessità di far visualizzare il prezzo dei tuoi prodotti solo ed esclusivamente agli utenti che hanno effettuato il login, sei nel posto giusto 🙂

In questo breve articolo andremo proprio a vedere come fare per visualizzare i prezzi solo agli utenti registrati, e lasciare un testo da far visualizzare agli utenti non registrati.

Genera la privacy policy per il tuo sito web in 5 minuti con Iubenda. E con WP Special, il primo anno hai il 10% di sconto!

Perché nascondere il prezzo su WooCommerce

I motivi possono essere vari e cambiano a seconda delle proprie necessità.

Ad esempio, un’azienda che vende prodotti all’ingrosso potrebbe adottare una soluzione di questo tipo. Ossia di utilizzare il sito solo come catalogo merce, e di visualizzare i prezzi solo agli utenti registrati, che potrebbero essere i commercianti.

Oppure, un altro motivo per rimuovere i prezzi da WooCommerce e farli vedere solo agli utenti registrati, potrebbe essere quello di incentivare la propria utenza a registrarsi sul sito.
Quindi usare questo metodo per aumentare il numero di utenti registrati e, successivamente, avere più facilità nel processo di acquisto.

Qualunque sia la motivazione, vediamo come impostarla facilmente su WooCommerce 🙂

Come visualizzare i prezzi solo agli utenti registrati

Effettuare questa operazione è molto semplice.
Si può fare in due modi diversi, sia tramite child theme, sia utilizzando un plugin dove poter inserire codice snippet in PHP.

Utilizzare un child theme

Se stai utilizzando un child theme sul tuo sito WordPress, sarà sufficiente modificare il file functions.php e incollare questo codice PHP:

add_action( 'init', 'wpspecial_nascondi_prezzo_agli_utenti_non_registrati' );
  
function wpspecial_nascondi_prezzo_agli_utenti_non_registrati() {   
	if ( ! is_user_logged_in() ) {      
		remove_action( 'woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10 );
		remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
		remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
		remove_action( 'woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10 );   
		add_action( 'woocommerce_single_product_summary', 'wpspecial_login_per_visualizzare', 31 );
		add_action( 'woocommerce_after_shop_loop_item', 'wpspecial_login_per_visualizzare', 11 );
	}
}
  
function wpspecial_login_per_visualizzare() {
	echo '<a href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Effettua il login per vedere il prezzo', 'nome_tema') . '</a>';
}

Questa porzione di codice non fa altro che disattivare la visualizzazione del prezzo dei prodotti di WooCommerce solo agli utenti non registrati, e al suo posto mostrare la scritta “Effettua il login per vedere il prezzo” con un link alla pagina di login.

Ovviamente possiamo modificare il codice andando a cambiare il testo da mostrare agli utenti non registrati, oppure modificando il link, o qualsiasi altra cosa ci venga in mente e che sia coerente con la nostra idea.

Il prezzo verrà rimosso sia nella pagina di visualizzazione di tutti i prodotti (tutti gli archivi), sia nella visualizzazione del singolo prodotto, mostrando sempre la dicitura “Effettua il login per vedere il prezzo“. Chiaramente, l’utente che avrà effettuato il login, vedrà il prezzo normalmente.

Il risultato, tecnicamente, sarà simile a questo (l’aspetto grafico, ovviamente, dipenderà dal tema WordPress utilizzato):

Esempio di WooCommerce con il prezzo solo dopo aver effettuato il login
Esempio di WooCommerce con il prezzo solo dopo aver effettuato il login

Ricorda! Non inserire questo codice PHP direttamente nel file functions.php del tema principale, ma utilizza sempre un child theme.
In questo modo eviterai di perdere queste modifiche al prossimo aggiornamento del tema.

Utilizzare un plugin di code snippet

Un altro modo comodo e semplice per inserire questo snippet PHP sul proprio sito web senza utilizzare un child theme, è quello di utilizzare un plugin preposto a questo genere di cose, uno tra tutti Code Snippets.

Una volta installato e attivato il plugin, sarà sufficiente andare su “Snippets-> Add New” e incollare il codice PHP precedentemente mostrato.

Inserire il codice PHP sul plugin Code Snippet per visualizzare il prezzo solo agli utenti registrati
Inserire il codice PHP sul plugin Code Snippet per visualizzare il prezzo solo agli utenti registrati

A questo punto non resta che salvare la pagina e verificare che il funzionamento del codice sia corretto.

Il risultato sarà identico a quello utilizzato con il child theme.

Conclusioni

In questo articolo abbiamo visto quanto sia semplice far visualizzare il prezzo dei prodotti su WooCommerce solo agli utenti registrati.

Ora raccontaci la tua! Hai provato ad effettuare questa operazione sul tuo sito WordPress? Hai trovato delle difficoltà? Scrivicelo nei commenti 😉

Vuoi vendere i tuoi corsi online? Teachable è la piattaforma che ti consente di creare e vendere corsi sul web, scopri tutta la sua potenza.

Piaciuto l'articolo? Condividilo sui social!

7 commenti su “WooCommerce: come visualizzare i prezzi solo agli utenti registrati

      1. Buongiorno anche io ho provato, nella pagina singolo prodotto funziona benissimo, ma io ho una pagina che visualizza le categorie e quando apro una categoria nella pagina che visualizza i prodotti della categoria il prezzo si vede ancora, poi quando entro nel singolo prodotto la variazione li ha funzionato.
        Come rimedio?
        Grazie Andrea

        1. Ciao Andrea,
          il fatto che i prezzi dei prodotti si vedano all’interno delle categorie e non sui singoli prodotti potrebbe dipendere dal tema o da qualche plugin installato.
          Dovresti fare delle prove per capire quale di questi è la causa.

  1. ho seguito le istruzioni che hai dato, solo che nei carrelli mi esce comunque il prezzo, con la scritta al di sotto, per vedere i prezzi devi accedere.
    mentre se vado ad aprire il singolo prodotto, il prezzo non esce più

    1. Ciao Fabio, bisognerebbe saperne di più sul tuo sito, i plugin attivi o eventuali altri snippet presenti. Puoi contattare la nostra assistenza WordPress per ricevere un analisi ed eventualmente un preventivo risolutivo.

Scrivi una risposta

Il tuo indirizzo email non sarà pubblicato.I campi obbligatori sono contrassegnati *

Ciao, hai bisogno di assistenza con WordPress? Scrivici!

Hey, aspetta!!!

Riceverai news e promozioni da parte di WP Special sul mondo WordPress. Niente spam, solo un paio di email al mese.

x