Filtra la ricerca ...
Frase esatta
Categorie

WooCommerce, come visualizzare i prezzi solo agli utenti registrati

Ciao e benvenuto. Se hai bisogno di chiarimenti sul codice, lascia un commento (no WhatsApp); ricorda però che non fornisco assistenza gratuita sugli articoli che ho scritto nè personalizzo il codice in modo gratuito, quindi se la tua richiesta va oltre il semplice "aiutino", se vuoi mi chiedi una consulenza a pagamento nella pagina contatti. Grazie della comprensione. Alessio

Oggi vediamo una funzione molto utile per WooCommerce, infatti diversi siti ecommerce richiedono la registrazione per visualizzare il prezzo; in questa guida spiego come creare una funzione in PHP che :

  1. nasconde i prezzi se l’utente non è loggato
  2. visualizza un link per l’accesso o la registrazione
  3. nascondo il pulsante acquista / aggiungi al carrello
  4. nega l’ordine e di conseguenza il checkout se l’utente non è loggato

Per fare ciò vado a lavorare sulle action di WooCommerce, una documentazione molto utile la si trova sul sito ufficiale https://docs.woocommerce.com/wc-apidocs/hook-docs.html.

Passiamo subito al codice.

Come nascondere i prezzi dei prodotti WooCommerce agli utenti che non hanno fatto accesso.

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

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.

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

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

Il codice va inserito nel file functions.php del vostra template, oppure ancora meglio potete sviluppare un plugin per WordPress.

Il risultato lo vedete su questo sito a cui ho sviluppato il plugin.

 

 

Potrebbe interessarti anche ...

Hai bisogno di una consulenza, lo sviluppo di un plugin o vuoi incrementare le performance del tuo sito ?

5 commenti su “WooCommerce, come visualizzare i prezzi solo agli utenti registrati”

  1. Ho provato ad utilizzare il codice:
    1) nella pagina dello shop come giustamente hai detto, appare la scritta, ma se si clicca sull’immagine va al prodotto e quindi si vede il prezzo;
    2) Il mio sito è in multilingua e anche traducendo la stringa in WPML mi da sempre e solo l’inglese.

    Rispondi
  2. Ciao Alessio, è passato un pò di tempo da quando hai scritto questo articolo ma lo script funziona bene. Ho notato però che il prezzo rimane visibile nel widget dei prodotto “Visti di recente” c’è modo di aggiungere una riga di “remove action” per il prezzo indicato?
    Ultima curiosità: di solito “add_action” viene posto fuori dalle parentesi graffe cosa che in questo caso non vedo, come mai?
    Grazie 😉

    Rispondi
Se vuoi postare codice usa codeshare.io
Se vuoi postare uno screeshot usa postimages.org ed inserisci l'url nel commento.

Rispondi a Alessio Angeloro Annulla risposta


Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Iscriviti e ricevi trucchi e guide

Inserisci la tua email per ricevere gli ultimi articoli dal blog.

Inserendo i tuoi dati confermi di aver letto ed essere d’accordo con la privacy policy.