Usa l'indice dei contenuti
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.
I backup sono essenziali per ogni sito web. Non farti trovare impreparato nel momento del bisogno, usa UpdraftPlus per i backup del tuo sito web!
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):
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.
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 😉
Sei in cerca di una live chat per il tuo sito web? Chatra è uno dei migliori programmi di live chat in circolazione, dai un'occhiata.
Buon giorno,
ho provato a modificare il functions.php sia modificandolo direttamente, sia attraverso il plugin ma senza risultati.
Il mio tema è il DIVI
Ciao Stefano, sicuro di non avere altri plugin che vanno in conflitto con questa istruzione?
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
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.
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ù
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.
Salve!
Sarebbe possibile nn mostrare i prezzi solo ad una determinata regione?
grazie
L.