Come assegnare ruoli utente in modo condizionale in WordPress

Come assegnare ruoli utente in modo condizionale in WordPress

Ti sei mai chiesto come assegnare ruoli utente condizionalmente in WordPress in base a determinati criteri? Questo può essere incredibilmente utile per siti che richiedono ruoli univoci basati su azioni dell'utente, stato di appartenenza o altri criteri.

Mentre WPForms e l'addon User Registration sono strumenti potenti per la creazione di moduli di registrazione, a volte è necessario assegnare ruoli utente dinamicamente in base a condizioni specifiche.

In questa guida, ti mostrerò come assegnare condizionalmente ruoli utente in WordPress utilizzando WPForms.

Comprendere i ruoli e le capacità degli utenti di WordPress

WordPress ha diversi ruoli predefiniti. Di seguito, ho evidenziato i ruoli utente predefiniti supportati da WordPress:

  • Amministratore: Accesso completo al backend del sito. Questo ruolo può eseguire attività come l'aggiunta di nuovi utenti, la modifica dei ruoli utente, l'installazione di plugin e temi, ecc.
  • Editor: Può gestire e pubblicare contenuti, anche contenuti scritti da altri. Il ruolo è spesso limitato alle attività relative ai post.
  • Autore: Il ruolo Autore in WordPress consente agli utenti di pubblicare e gestire solo i propri post.
  • Collaboratore: In WordPress, il ruolo collaboratore può scrivere e gestire i propri post ma non può pubblicarli.
  • Abbonato: Ha un accesso limitato, solitamente per la lettura o il commento.

Ogni ruolo ha un set di "capacità" che determinano ciò che gli utenti possono e non possono fare. È importante familiarizzare con le capacità dei ruoli utente di WordPress in modo da sapere quali permessi gli utenti otterranno al momento della registrazione sul tuo sito. Ti consiglio di consultare la guida di WPBeginner se desideri saperne di più sui ruoli e le capacità degli utenti in WordPress.

Come assegnare ruoli utente in modo condizionale in WordPress

Ecco una guida passo passo su come assegnare ruoli utente condizionalmente in WordPress.

Passaggio 1: Installa e attiva il plugin WPForms

WPForms è il miglior plugin per creare moduli di base e avanzati in WordPress.

Da semplici moduli di contatto a funzionalità più avanzate come la logica condizionale, è uno strumento affidabile che ha funzionato bene per me su più siti.

La licenza Pro di WPForms include l'accesso all'addon User Registration, che ti consente di creare moduli di registrazione e accesso sul tuo sito WordPress.

La pagina dei prezzi di WPForms.

Una volta acquistata la licenza Pro, dovresti installare e attivare WPForms sul tuo sito WordPress. Se è la prima volta, consulta questa guida per scoprire come installare WPForms.

Crea Ora il Tuo Modulo di Registrazione Utente

Passaggio 2: Installa e configura l'addon User Registration

Dopo aver installato il plugin WPForms, dovrai anche installare l'addon User Registration.

Per installare l'addon, vai nell'area di amministrazione di WordPress e seleziona WPForms » Addons. Quindi scorri verso il basso fino a trovare l'User Registration Addon, o usa la barra di ricerca. Quando lo trovi, fai clic su Install Addon.

Installa l'addon di registrazione utente per assegnare ruoli utente condizionalmente

Una volta installato e attivato l'addon User Registration sul tuo sito, procedi alla creazione del tuo modulo di registrazione.

Creazione del tuo modulo

Puoi creare il tuo modulo da zero o utilizzare il nostro modello di modulo di registrazione utente per velocizzare il processo di creazione del modulo. Per questo tutorial, utilizzeremo il modello di modulo di registrazione utente. Per accedere a questo modello, vai su WPForms » Aggiungi Nuovo. Quindi, seleziona Modelli Addon dal menu laterale.

Accesso ai modelli dell'addon

Da qui, fai clic sul pulsante Usa Modello sotto il modello di Modulo di Registrazione Utente.

Fai clic su Usa modello per creare un modulo di registrazione utente

Questo ti indirizzerà all'editor di moduli, dove potrai personalizzare ulteriormente il modello.

Modulo di registrazione per assegnare ruoli utente condizionalmente

Nell'editor di moduli, procedi e aggiungi un campo di scelta al tuo modulo. Per questo tutorial, aggiungerò il campo a discesa con 2 opzioni: Insegnante e Studente.

Aggiungi il campo a discesa per selezionare il tipo di account

Abiliterò anche l'opzione Richiesto in modo che gli utenti debbano selezionare un tipo di account al momento della registrazione.

Rendi obbligatorio il campo tipo di account per assegnare ruoli utente condizionalmente

Prendi nota dell'ID del campo a discesa, poiché ci servirà nel passaggio successivo.

Dopo aver aggiunto i campi e personalizzato le opzioni dei campi, vai su Impostazioni » Registrazione Utente per accedere alle impostazioni aggiuntive per l'addon.

Accedi alle impostazioni dell'addon di registrazione utente

Se hai utilizzato il modello di modulo di registrazione utente, tutte le mappature dei campi saranno completate. Tuttavia, se stai creando il tuo modulo di registrazione da zero, dovrai mappare i tuoi campi del modulo ai metadati utente di WordPress.

Mappatura campi nell'addon di registrazione utente

Per impostazione predefinita, la sezione Ruoli Utente è impostata su Abbonato. Non c'è bisogno di preoccuparsi dell'assegnazione del ruolo per ora poiché questo verrà gestito utilizzando la logica condizionale. Tuttavia, tieni presente che questo sarà il ruolo predefinito assegnato agli utenti se lo snippet non funziona correttamente sul tuo sito.

Mappatura ruoli utente

Una volta terminate le personalizzazioni del tuo modulo, assicurati di fare clic sul pulsante Salva per salvare le modifiche.

Salva modifiche

Passaggio 3: Aggiungi uno snippet per assegnare condizionalmente il ruolo utente

WPForms attualmente non supporta l'assegnazione di ruoli utente in base all'input di altri campi per impostazione predefinita. Tuttavia, con uno snippet PHP personalizzato, puoi personalizzare il tuo modulo di registrazione per assegnare ruoli utente in modo condizionale in base all'input del modulo.

Per il nostro esempio, lo imposteremo per controllare il campo a discesa che abbiamo aggiunto al modulo di registrazione. Se l'utente seleziona Insegnante come tipo di account, assegneremo un ruolo di Editor all'utente. Se seleziona Studente, lo snippet assegnerà loro un ruolo di Autore.

Attenzione!

Questa sezione contiene snippet PHP personalizzati ed è destinata a utenti esperti con conoscenze di base di PHP. Tuttavia, puoi seguirla anche se sei un principiante poiché, per la maggior parte, dovrai solo aggiornare l'ID del modulo e l'ID del campo a discesa.

Per procedere, copia e incolla lo snippet qui sotto sul tuo sito. Raccomando di utilizzare il plugin WPCode per aggiungere lo snippet al tuo sito. Questo plugin semplifica l'aggiunta di snippet di codice personalizzati ai siti WordPress senza dover modificare il file functions.php o preoccuparsi di rompere il sito.

Per i dettagli su come utilizzare il plugin WPCode, consulta il nostro tutorial su come aggiungere snippet personalizzati a WordPress.

Spiegazione del codice

Lo snippet sopra utilizza il filtro wpforms_user_registration_process_registration_get_data per acquisire i dati dell’utente dopo che questi ha inviato il tuo modulo di registrazione. Stiamo controllando il campo a discesa nel modulo e assegnando all’utente un ruolo in base al suo input.

Abbiamo impostato lo snippet per funzionare solo sul modulo con ID 13. Questo corrisponde all’ID del mio modulo di registrazione. Dovrai aggiornare questo ID per farlo corrispondere all’ID del tuo modulo. Per ottenere l’ID del tuo modulo, vai su WPForms » Tutti i moduli e guarda sotto la colonna Shortcode. Il numero nello shortcode è l’ID del modulo.

Recupera l'ID del modulo per assegnare condizionalmente un ruolo utente in WordPress

Inoltre, la variabile $role_field_id, che è l’ID del campo a discesa, è impostata su 6 nel codice sopra. Dovrai sostituirla anche per farla corrispondere a quella del tuo campo a discesa. Ricorda che ti ho chiesto di annotare l’ID del campo a discesa. È qui che useremo il valore.

L’array $role_mapping è dove definiamo la mappatura per i valori del campo a discesa. Insegnante viene mappato al ruolo Editor in WordPress, mentre l’opzione Studente viene mappata al ruolo utente Autore. Puoi aggiungere più coppie chiave-valore a seconda del numero di opzioni sul tuo modulo di registrazione.

Suggerimento Pro

La mappatura dei campi Studente e Insegnante nello snippet sopra corrisponde alle opzioni che ho specificato nel campo a discesa quando ho personalizzato il modulo di registrazione. Se le opzioni sul tuo campo a discesa sono diverse dalle mie, assicurati di aggiornare le coppie chiave nell’array $role_mapping in modo che corrispondano ai valori che hai utilizzato nel tuo modulo.

Usiamo lo slug associato al ruolo dell’utente per mapparlo nello snippet. Ad esempio, ‘editor’ corrisponde al ruolo Editor in WordPress. Di seguito, ho evidenziato i ruoli utente predefiniti di WordPress e i loro slug:

  • Amministratore – ‘administrator’
  • Editor – ‘editor’
  • Autore – ‘author’
  • Collaboratore – ‘contributor’
  • Sottoscrittore – ‘subscriber’

Passaggio 4: Testare il modulo per assegnare condizionalmente i ruoli utente

Il passo successivo dopo aver aggiunto lo snippet è testare il modulo per assicurarsi che funzioni correttamente prima di distribuirlo ai tuoi utenti. Per questo, consiglio di inviare una voce di test per vedere se il ruolo dell’utente viene impostato dinamicamente.

Invio una registrazione di prova sul mio modulo e imposto il campo Tipo di account su Insegnante.

Seleziona il tipo di account nel frontend per assegnare condizionalmente un ruolo utente

Ora, per controllare l’account utente nell’area di amministrazione di WordPress, vai su Utenti » Tutti gli utenti. Qui vedrai tutti gli account utente sul tuo sito. Poiché ho scelto Insegnante quando ho completato il modulo di registrazione, il ruolo dell’utente di prova viene impostato dinamicamente come Editor.

Qualcosa da tenere a mente quando si consente agli utenti di scegliere il proprio ruolo sul frontend è che non è possibile controllare le opzioni che gli utenti selezioneranno. Nella nostra implementazione, ad esempio, uno studente può comunque scegliere il tipo di account Insegnante e il modulo verrà comunque inviato.

Puoi utilizzare il nostro addon Form Locker per limitare l’accesso al tuo modulo di registrazione. Ciò garantisce che solo gli utenti con una password specifica possano accedere al modulo.

In alternativa, puoi abilitare l'attivazione dell'utente per il modulo di registrazione navigando su Impostazioni » Registrazione Utente nell'editor del modulo. Quindi, attiva l'opzione Abilita attivazione utente e seleziona il metodo Approvazione Manuale.

Abilita attivazione utente

In questo modo, l'amministratore del sito esaminerà manualmente ogni registrazione utente e approverà gli account utente se soddisfano i tuoi requisiti. Puoi confermare se l'utente ha scelto il tipo di account corretto prima di approvare il suo account.

Leggi anche: Sicurezza caricamento file: i migliori consigli per i moduli online

Passaggio 5: Pubblica il tuo modulo di registrazione WordPress

Per concludere, aggiungiamo il modulo di registrazione a una pagina. Per farlo, modifica il modulo per accedere all'editor del modulo. Quindi fai clic sul pulsante Incorpora nell'angolo in alto a destra della pagina dell'editor del modulo.

Pulsante incorpora modulo

Avrai la possibilità di pubblicare il tuo modulo su una pagina nuova o esistente. Per questa guida, sceglierò l'opzione Crea Nuova Pagina.

Decidi come vuoi incorporare il tuo modulo

Dai un nome alla tua nuova pagina e fai clic su Iniziamo .

Dai un nome alla tua pagina e procedi

Verrai indirizzato all'editor di pagine di WordPress con il tuo modulo incorporato nella pagina. Fai clic sul pulsante Pubblica per pubblicare la tua pagina.

Pubblica la pagina

Quando controlli questa pagina sul frontend, vedrai che hai un modulo di registrazione utente completamente funzionante. Nota che è anche possibile incorporare i tuoi moduli utilizzando uno shortcode o un widget.

FAQ – Come assegnare ruoli utente in modo condizionale

Queste sono le risposte ad alcune delle domande più frequenti sull'assegnazione condizionale dei ruoli utente in WordPress.

Posso assegnare più ruoli utente in modo condizionale?

No, WordPress core supporta solo un ruolo per utente per impostazione predefinita. Tuttavia, puoi utilizzare plugin come User Role Editor per assegnare manualmente più ruoli.

Gli utenti esistenti saranno interessati quando implementerò l'assegnazione condizionale dei ruoli utente?

No, questo influisce solo sulle nuove registrazioni utente tramite WPForms. I ruoli degli utenti esistenti rimangono invariati.

Come creo un ruolo utente personalizzato in WordPress?

Il modo più semplice per ottenere questo risultato è con un plugin per WordPress. Con il plugin Members, puoi aggiungere nuovi ruoli utente sul tuo sito e personalizzare le capacità di ogni ruolo. Il nuovo ruolo che crei apparirà nel menu a discesa Ruoli Utente quando personalizzi il componente aggiuntivo Registrazione Utente di WPForms.

Perché lo snippet non funziona sul mio sito?

Ciò può verificarsi se l'ID del modulo o l'ID del campo non corrispondono a quello sul tuo modulo di registrazione. Assicurati di aggiornare lo snippet con gli ID del tuo modulo e dei tuoi campi.

Inoltre, se le opzioni nel campo a discesa non corrispondono ai ruoli specificati nello snippet, WPForms assegnerà all'utente il ruolo predefinito specificato durante la configurazione del componente aggiuntivo Registrazione Utente.

Successivamente, personalizza lo stile del tuo modulo di registrazione

Ora hai un modulo di registrazione funzionante che assegna dinamicamente i ruoli utente in base all'input dei campi del tuo modulo. Ti ho mostrato come visualizzare il modulo di registrazione sul frontend del tuo sito. Ma lo sapevi che puoi fare un passo in più e abbellire il tuo modulo? WPForms ti consente di stilizzare i tuoi moduli WordPress senza scrivere alcun CSS.

Puoi anche creare una pagina di accesso personalizzata, brandizzata con il logo del tuo sito, per consentire agli utenti di accedere ai propri account.

Personalizza ora il tuo modulo WordPress

Pronto a creare il tuo modulo? Inizia oggi stesso con il plugin per la creazione di moduli WordPress più semplice. WPForms Pro include molti modelli gratuiti e offre una garanzia di rimborso di 14 giorni.

Se questo articolo ti è stato utile, seguici su Facebook e Twitter per altri tutorial e guide gratuite su WordPress.

Divulgazione: i nostri contenuti sono supportati dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Scopri come viene finanziato WPForms, perché è importante e come puoi supportarci.

David Ozokoye

David è uno scrittore tecnico presso WPForms. Testa e documenta nuove funzionalità e aggiornamenti del plugin WPForms. Lontano dal computer, gli piace giocare ai videogiochi e pattinare. Scopri di più

Il miglior plugin per la creazione di moduli drag and drop per WordPress

Facile, veloce e sicuro. Unisciti a oltre 6 milioni di proprietari di siti web che si affidano a WPForms.

Aggiungi un commento

Siamo lieti che tu abbia scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra normativa sulla privacy e tutti i link sono nofollow. NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.

Questo modulo è protetto da Cloudflare Turnstile e si applicano la Normativa sulla privacy e i Termini di servizio di Cloudflare.