Vi siete mai chiesti come assegnare i ruoli degli utenti in WordPress in modo condizionato, in base a determinati criteri? Questo può essere incredibilmente utile per i siti che richiedono ruoli unici in base alle azioni dell'utente, allo stato di appartenenza o ad altri criteri.
Sebbene WPForms e l'addon User Registration siano strumenti potenti per la creazione di moduli di registrazione, a volte è necessario assegnare dinamicamente i ruoli degli utenti in base a condizioni specifiche.
In questa guida vi spiegherò come assegnare in modo condizionato i ruoli degli utenti in WordPress utilizzando WPForms.
Capire i ruoli e le capacità degli utenti di WordPress
WordPress ha diversi ruoli incorporati. 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 degli utenti, l'installazione di plugin e temi, ecc.
- Editor: Può gestire e pubblicare contenuti, anche quelli scritti da altri. Il ruolo è spesso limitato alle attività legate ai post.
- Autore: Il ruolo Autore in WordPress consente agli utenti di pubblicare e gestire solo i propri post.
- Collaboratore: In WordPress, il ruolo di collaboratore può scrivere e gestire i propri post, ma non può pubblicarli.
- Abbonato: ha un accesso limitato, di solito per leggere o commentare.
Ogni ruolo ha una serie di "capacità" che stabiliscono cosa gli utenti possono o non possono fare. È importante familiarizzare con le funzionalità dei ruoli utente di WordPress, in modo da sapere quali permessi avranno gli utenti al momento della registrazione sul vostro sito. Vi consiglio di consultare la guida di WPBeginner se volete saperne di più sui ruoli utente e sulle funzionalità di WordPress.
Come assegnare i ruoli agli utenti in modo condizionato in WordPress
Ecco un passo per passo su come assegnare i ruoli degli utenti in modo condizionato in WordPress.
- Passo 1: Installare e attivare il plugin WPForms
- Passo 2: Installare e configurare l'addon per la registrazione degli utenti
- Passo 3: Aggiungere lo snippet per assegnare il ruolo dell'utente in modo condizionato
- Passo 4: testare il modulo per assegnare i ruoli utente in modo condizionato
- Passo 5: Pubblicare il modulo di registrazione di WordPress
Passo 1: Installare e attivare il plugin WPForms
WPForms è il miglior plugin per creare moduli di base e avanzati in WordPress.
Dai semplici moduli di contatto alle funzioni più avanzate come la logica condizionale, è uno strumento affidabile che ha funzionato bene per me su diversi siti.
La licenza Pro di WPForms include l'accesso all'addon User Registration, che consente di creare moduli di registrazione e login sul vostro sito WordPress.

Una volta acquistata la licenza Pro, dovete installare e attivare WPForms sul vostro sito WordPress. Se è la prima volta che lo installate, consultate questa guida per imparare a installare WPForms.
Create ora il vostro modulo di registrazione utente
Passo 2: Installare e configurare l'addon per la registrazione degli utenti
Dopo aver installato il plugin WPForms, è necessario installare anche l'addon User Registration.
Per installare l'addon, accedete all'area di amministrazione di WordPress e andate su WPForms " Addons. Scorrete quindi verso il basso fino a trovare l'addon Registrazione utente, oppure utilizzate la barra di ricerca. Quando lo trovate, fate clic su Installa addon.

Una volta installato e attivato l'addon Registrazione utente sul vostro sito, procedete alla creazione del modulo di registrazione.
Creazione del modulo
È possibile creare il modulo da zero o utilizzare il nostro modello di modulo di registrazione utente per accelerare il processo di creazione del modulo. Per questo tutorial, utilizzeremo il modello di modulo di registrazione utente. Per accedere a questo modello, navigare in WPForms " Aggiungi nuovo. Quindi, selezionate Modelli di addon dal menu della barra laterale.

Da qui, fare clic sul pulsante Usa modello sotto al modello di modulo di registrazione utente.

Questo vi indirizzerà al costruttore di moduli, dove potrete personalizzare ulteriormente il modello.

Nel costruttore di moduli, procedere con l'aggiunta di un campo di scelta al modulo. Per questa esercitazione, aggiungerò il campo a discesa con 2 opzioni: Insegnante e Studente.

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

Annotare l'ID del campo a discesa, perché ci servirà nel prossimo passaggio.

Dopo aver aggiunto i campi e personalizzato le opzioni dei campi, andare su Impostazioni " Registrazione utente per accedere alle impostazioni aggiuntive del componente aggiuntivo.

Se si è utilizzato il modello di modulo di registrazione utente, tutta la mappatura dei campi è già stata completata. Tuttavia, se state costruendo il modulo di registrazione da zero, dovrete mappare i campi del modulo con i metadati dell'utente di WordPress.

Per impostazione predefinita, la sezione Ruoli utente è impostata su Abbonato. Non è necessario preoccuparsi dell'assegnazione del ruolo per ora, poiché sarà gestita con una logica condizionale. Tuttavia, si noti che questo sarà il ruolo predefinito assegnato agli utenti se lo snippet non funziona correttamente sul vostro sito.

Una volta terminata la personalizzazione del modulo, assicurarsi di fare clic sul pulsante Salva per salvare le modifiche.

Passo 3: Aggiungere lo snippet per assegnare il ruolo dell'utente in modo condizionato
Attualmente WPForms non supporta l'assegnazione dei ruoli degli utenti in base agli input provenienti da altri campi. Tuttavia, con uno snippet PHP personalizzato, è possibile personalizzare il modulo di registrazione per assegnare i ruoli degli utenti in modo condizionato, in base agli 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, gli assegneremo il ruolo di Editore. Se l'utente seleziona Studente, lo snippet gli assegnerà il ruolo Autore.
Per procedere, copiate e incollate lo snippet qui sotto nel vostro sito. Vi consiglio di utilizzare il file Codice WPC per aggiungere lo snippet al vostro sito. Questo plugin semplifica l'aggiunta di snippet di codice personalizzati ai siti WordPress, senza dover ricorrere al functions.php
o preoccuparsi di rompere il sito.
Per maggiori dettagli su come utilizzare il plugin WPCode, consultare il nostro tutorial sull'aggiunta di snippet personalizzati a WordPress.
Codice Spiegazione
Lo snippet qui sopra utilizza il metodo wpforms_user_registration_process_registration_get_data
per acquisire i dati degli utenti dopo l'invio del modulo di registrazione. Controlliamo il campo a discesa del modulo e assegniamo all'utente un ruolo in base al suo input.
Abbiamo impostato lo snippet in modo che funzioni solo sul modulo con un ID di 13. Questo corrisponde all'ID del mio modulo di registrazione. Questo corrisponde all'ID del mio modulo di registrazione. Dovrete aggiornare questo ID per farlo corrispondere a quello del vostro modulo. Per ottenere l'ID del vostro modulo, andate su WPForms " Tutti i moduli e guardate sotto la colonna Shortcode. Il numero nello shortcode è l'ID del modulo.

Inoltre, il $role_field_id
che è l'ID del campo a discesa, è impostato a 6 nel codice precedente. È necessario sostituirla per farla corrispondere a quella del campo a discesa. Ricordate che vi ho chiesto di notare il valore ID del campo a discesa. È qui che utilizzeremo il valore.
Il $role_mapping
è il punto in cui si definisce la mappatura dei valori dei campi a discesa. L'opzione Insegnante corrisponde al ruolo di Editor di WordPress, mentre l'opzione Studente corrisponde al ruolo di Autore. È possibile aggiungere altre coppie chiave-valore, a seconda del numero di opzioni presenti nel modulo di registrazione.
Suggerimento professionale
La mappatura dei campi Studente e Insegnante nello snippet qui sopra corrisponde alle opzioni che ho specificato nel campo a discesa durante la personalizzazione del modulo di registrazione. Se le opzioni del vostro campo a discesa sono diverse dalle mie, assicuratevi di aggiornare le coppie di chiavi nell'array $role_mapping in modo che corrispondano ai valori utilizzati nel vostro modulo.
Utilizziamo lo slug associato al ruolo dell'utente per mapparlo nello snippet. Ad esempio, "editor" corrisponde al ruolo di editor in WordPress. Di seguito, ho evidenziato i ruoli utente predefiniti di WordPress e i relativi slug:
- Amministratore - 'amministratore'
- Editor - 'redattore'
- Autore - 'autore'
- Collaboratore - 'contributor'
- Sottoscrittore - 'subscriber'
Passo 4: testare il modulo per assegnare i ruoli utente in modo condizionato
Il passo successivo all'aggiunta dello snippet è testare il modulo per assicurarsi che funzioni correttamente prima di distribuirlo agli utenti. A tale scopo, si consiglia di inviare una voce di prova per vedere se il ruolo dell'utente è impostato dinamicamente.
Invierò una registrazione di prova sul mio modulo e imposterò il campo Tipo di account su Insegnante.

Ora, per controllare l'account utente nell'area di amministrazione di WordPress, andate su Utenti " Tutti gli utenti. Qui si vedranno tutti gli account utente del sito. Poiché ho scelto Teacher quando ho compilato il modulo di registrazione, il ruolo dell'utente di prova è impostato dinamicamente come Editor.

Una cosa da tenere presente quando si consente agli utenti di scegliere il proprio ruolo nel frontend è che non si possono controllare le opzioni che gli utenti selezioneranno. Nella nostra implementazione, ad esempio, uno studente può scegliere il tipo di account Insegnante e il modulo verrà comunque inviato.
È possibile utilizzare il nostro addon Form Locker per limitare l'accesso al modulo di registrazione. In questo modo, solo gli utenti con una password specifica possono accedere al modulo.
In alternativa, è possibile abilitare l'attivazione dell'utente per il modulo di registrazione andando su Impostazioni " Registrazione utente nel costruttore del modulo. Quindi, attivare l'opzione Abilita attivazione utente e selezionare il metodo di approvazione manuale.

In questo modo, l'amministratore del sito esaminerà manualmente la registrazione di ogni utente e approverà gli account se soddisfano i requisiti. È possibile verificare se l'utente ha scelto il tipo di account corretto prima di approvarlo.
Leggi anche: Sicurezza del caricamento dei file: I migliori consigli per i moduli online
Passo 5: Pubblicare il modulo di registrazione di WordPress
Per concludere, aggiungiamo il modulo di registrazione a una pagina. Per farlo, modificare il modulo per accedere al costruttore di moduli. Quindi fare clic sul pulsante Incorpora nell'angolo in alto a destra della pagina del costruttore di moduli.

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

Dare un nome alla nuova pagina e fare clic su Let's Go.

Verrete indirizzati all'editor di pagine di WordPress con il vostro modulo incorporato nella pagina. Fare clic sul pulsante Pubblica per pubblicare la pagina.

Quando si controlla questa pagina sul frontend, si vedrà che si dispone di un modulo di registrazione utente completamente funzionale. Si noti che è anche possibile incorporare i moduli utilizzando uno shortcode o un widget.
Domande frequenti - Come assegnare i ruoli utente in modo condizionato
Queste sono le risposte ad alcune delle domande più frequenti sull'assegnazione condizionale dei ruoli utente in WordPress.
È possibile assegnare più ruoli utente in modo condizionato?
No, il nucleo di WordPress supporta solo un ruolo per utente per impostazione predefinita. Tuttavia, è possibile utilizzare plugin come User Role Editor per assegnare manualmente più ruoli.
Gli utenti esistenti saranno interessati quando si implementa l'assegnazione condizionale del ruolo all'utente?
No, questo riguarda solo le registrazioni di nuovi utenti tramite WPForms. I ruoli degli utenti esistenti rimangono invariati.
Come si crea un ruolo utente personalizzato in WordPress?
Il modo più semplice per ottenere questo risultato è un plugin di WordPress. Con il plugin Members, è possibile aggiungere nuovi ruoli utente sul sito e personalizzare le capacità di ciascun ruolo. Il nuovo ruolo creato apparirà nel menu a tendina Ruoli utente quando si personalizza l'addon Registrazione utenti di WPForms.
Perché lo snippet non funziona sul mio sito?
Questo può accadere se l'ID del modulo o del campo non corrisponde a quello del modulo di registrazione. Assicurarsi di aggiornare lo snippet con gli ID del modulo e del campo.
Inoltre, se le opzioni del campo a discesa non corrispondono ai ruoli specificati nello snippet, WPForms assegnerà all'utente il ruolo predefinito specificato durante la configurazione dell'addon Registrazione utente.
Successivamente, personalizzare lo stile del modulo di registrazione
Ora si dispone di un modulo di registrazione funzionale che assegna dinamicamente i ruoli degli utenti in base agli input dei campi del modulo. Vi ho mostrato come visualizzare il modulo di registrazione sul frontend del vostro sito. Ma sapevate che potete fare un passo avanti e abbellire il vostro modulo? WPForms vi permette di creare lo stile dei vostri moduli WordPress senza scrivere alcun CSS.
È inoltre possibile creare una pagina di login personalizzata con il logo del sito per consentire agli utenti di accedere ai propri account.
Crea ora il tuo modulo WordPress
Siete pronti a creare il vostro modulo? Iniziate oggi stesso con il più semplice plugin per la creazione di moduli per WordPress. WPForms Pro include molti modelli gratuiti e offre una garanzia di rimborso di 14 giorni.
Se questo articolo vi ha aiutato, seguiteci su Facebook e Twitter per altre guide e tutorial gratuiti su WordPress.