Nascondere prezzi in WooCommerce

Nascondere prezzi in WooCommerce. Solo utenti registrati.

Nascondere prezzi in WooCommerce. Hai un negozio online o stai per crearlo ed hai l’esigenza di far visualizzare i prezzi dei vari prodotti solo per gli utenti  che si sono registrati nel tuo sito ecommerce; ora vedremo come nascondere i prezzi in WooCommerce, per essere più preciso  vedremo come fare per  far visualizzare i prezzi solo agli utenti registrati.

Nascondere prezzi in WooCommerce

Vediamo una funzione molto utile per WooCommerce utilizzata da diversi siti ecommerce che richiedono la registrazione per visualizzare il prezzo del prodotto.

In questa mini guida vi mostrerò come nascondere i prezzi di WooCommerce da codice senza l’utilizzo di plugin.

Occorre creare una funzione PHP che :

  1. nasconde i prezzi se l’utente non è loggato
  2. mostra un link per effettuare l’accesso o la registrazione al sito
  3. nasconde il pulsante acquista\ aggiungi al carrello
  4. nega l’ordine e di conseguenza il check-out se l’utente non è loggato.

Nascondere il prezzo dei prodotti agli utenti non registrati

Per prima cosa inizializziamo la funzione che andiamo a scrivere con : add_action(‘init’, ‘woo_hide_action’);

Ora scriviamo la funzione che nasconde il pulsante Acquista e Aggiungi al Carrello

function woo_hide_action() {

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

Come si può notare prima di rimuovere i filtri eseguo un controllo per vedere se l’utente è loggato utilizzando la funzione di WordPress is_user_logged_in(), quindi se non è loggato procedo con la mia funzione.

A questo punto abbiamo quindi eliminato i due pulsanti, ora però per non limitarci solo a nasconderli senza dare un motivo apparente all’utente che naviga, scriviamo un’altra funzione PHP che mostrà il link per accedere o registrarsi.

Funzione Accedi/Registrazione

Ora, nella funzione faccio il link punta alla pagina “myaccount”, endpoint nativo di WooCommerce, ma potete inserire il link che volete.

function woo_show_login() {
echo '<a class="button" style="white-space:pre-wrap;line-height:20px;" href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Accedi per vedere i prezzi e ordinare', 'theme_name') . '</a>';
}

Ora per visualizzare il link aggiungiamo due action alla funziona di prima, che diventerà quindi

add_action('init', 'woo_hide_action');

function woo_hide_action() {

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', 'woo_show_login', 31 );
add_action( 'woocommerce_after_shop_loop_item', 'woo_show_login', 11 );
}
}

function woo_show_login() {
echo '<a class="button" style="white-space:pre-wrap;line-height:20px;" href="' . get_permalink(wc_get_page_id('myaccount')) . '">' . __('Accedi per vedere i prezzi e ordinare', 'theme_name') . '</a>';
}

Conclusione

Il codice che trovi in questo post va inserito nel file functions.php del tuo sito web. Ti consiglio di inserirlo nel tema child in modo che non perdi le modifiche  in caso di aggiornamento del tuo tema installato.

Tema Child WordPress perché crearlo?

Bene, ora puoi non mostrare il prezzo ai tuoi utenti e farli registrare al tuo sito web.

Se vuoi puoi anche consultare la documentazione di WooCommerce.

Per qualsiasi chiarimento o approfondimento, non esitare a contattarmi lasciando un commento.
Se invece ti è semplicemente piaciuto questo articolo o lo hai trovato utile, condividilo! 😉

Autore Bartolomeo

Mi chiamo Bartolomeo Alberico, sono un consulente tecnico con la passione per il web e la tecnologia e tutto quello che le ronza intorno.
Nel tempo libero scrivo articoli per il mio blog su argomenti vari, in particolare su WordPress e SEO.

Condividi questo articolo!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Ho letto la policy privacy e accetto il trattamento dei miei dati personali in conformità al D.Lgs. 196/2003