Hai mai avuto dubbi su come assegnare i ruoli di WordPress agli utenti del tuo sito? In questa guida vedremo quali sono i ruoli di base di WordPress e come si assegnano.
Dopo aver visto quali ruoli è meglio usare in base alle esigenze, vedremo anche come creare dei ruoli personalizzati con le capacità che decidiamo noi.
Iniziamo!
Table of Contents
Cosa sono i ruoli di WordPress e qual è la loro utilità?
WordPress è un CMS che permette la collaborazione tra vari utenti. Proprio per questa natura di piattaforma collaborativa, in WordPress ad ogni utente registrato sul sito può essere assegnato un ruolo.
Nello specifico l’amministratore del sito può assegnare un ruolo ad ogni utente per decidere quali sono le modifiche che questo utente può fare e quali no. Questa caratteristica di WordPress ci permette di rispettare il “principle of least privilege” (che potremmo tradurre come “principio del privilegio minimo”) in base al quale bisogna fornire a una persona l’accesso minimo sufficiente a svolgere le operazioni necessarie e solo per il tempo necessario.
Grazie ai ruoli, infatti, ogni utente ha accesso solo a quello che è richiesto per il suo lavoro e a niente di superfluo e questo ci permette di garantire la sicurezza di WordPress.
WordPress ci viene in aiuto nella gestione degli utenti che hanno accesso al nostro sito, grazie a dei ruoli predefiniti. Inoltre, come vedremo in questa guida, abbiamo la possibilità di creare dei ruoli personalizzati nel caso di esigenze particolari.
Iniziamo dal vedere i ruoli di base.
I ruoli predefiniti di WordPress
Adesso ti parlerò dei ruoli predefiniti di WordPress, cioè di tutti i ruoli che puoi assegnare agli utenti di base ogni volta che crei una nuova installazione di WordPress.
Ecco i ruoli predefiniti di WordPress:
- Amministratore (in inglese Administrator): può accedere a tutte le funzioni di un sito WordPress.
- Editor (in inglese Editor): può modificare e pubblicare tutti i post (anche quelli di altri autori).
- Autore (in inglese Author): può gestire e pubblicare i propri post.
- Contributore (in inglese Contributor): può modificare i propri post, ma non può pubblicarli.
- Sottoscrittore (in inglese Subscriber): può modificare solo il proprio profilo.
Oltre a questi 5 ruoli di base, ce ne è anche un sesto che è presente solo nelle installazioni di WordPress Multisite:
- Super Admin: in un’installazione multisite, questo speciale tipo di amministratore può modificare le impostazioni di tutto il network. Invece, gli Amministratori vengono assegnati ai singoli siti della rete.
Questa è una breve introduzione sui ruoli di base, adesso entriamo più nel dettaglio per scoprire le differenze tra i diversi ruoli e capire come assegnarli agli utenti in base alle esigenze.
Il ruolo “Amministratore”
Ogni volta che installiamo WordPress, viene creato automaticamente un utente con il ruolo di Amministratore. È necessario, infatti, che ci sia almeno un amministratore per ogni sito. In genere, inoltre, per motivi di sicurezza, è bene avere un solo amministratore per sito.
L’Amministratore è il ruolo che ha i permessi più elevati. Questo per quanto riguarda un sito WordPress tradizionale, mentre nei network, come dicevamo prima, il ruolo che ha maggiori permessi è il Super Admin.
Ecco come appare una dashboard di esempio vista dal ruolo di Amministratore.
Solo l’Amministratore può aggiungere un nuovo utente, gestire gli utenti esistenti e anche rimuoverli dal sito. Oltre a questo può accedere a tutte le impostazioni del sito, modificare tutti i contenuti (pagine, articoli, ecc.), e gestire temi e plugin.
Come dicevamo prima, ogni ruolo ha dei specifici permessi che vengono chiamati capacità.
Per avere una visione completa e tecnica e vedere l’elenco completo delle Capacità di ogni ruolo, puoi fare riferimento alla documentazione tecnica di WordPress.org.
Per farti capire meglio il livello di controllo in base al ruolo, ecco alcune delle capacità riservate solo all’Amministratore:
- creare gli utenti (create_users);
- aggiornare WordPress (update_core);
- installare i plugin (install_plugins);
- modificare l’aspetto del sito (accedendo a “Personalizza”) (customize).
In parole semplici, l’Amministratore ha accesso completo al sito WordPress in ogni sua funzione e può modificare qualsiasi cosa, anche rimuovere utenti esistenti.
Per questo motivo, questo è il ruolo che deve essere assegnato con maggiore cautela.
Il ruolo “Editor”
Il ruolo di Editor in un sito WordPress viene assegnato alla persona che deve gestire tutti i contenuti del sito. Infatti, questo ruolo è pensato per dare all’utente la possibilità di modificare e pubblicare tutti i contenuti.
WordPress organizza i contenuti in tipi di post, quando abbiamo parlato di custom post type, abbiamo visto che ci sono diversi tipi di post predefiniti.
Per capirci meglio: pagine, articoli e allegati sono esempi di tipi di post.
Come vedremo, ci sono diversi ruoli che possono gestire i contenuti, ma l’Editor è il ruolo che ha i maggiori permessi in questo senso. Infatti, questo ruolo ha la possibilità di modificare e anche eliminare le pagine già pubblicate, oltre a modificare gli articoli di tutti gli autori.
Oltre a quanto visto, l’Editor può anche caricare file, modificare e creare nuove categorie, e moderare i commenti.
Ecco come appare una dashboard di esempio vista dal ruolo di Editor.
Il ruolo “Autore”
Il ruolo Autore viene usato per dare a un utente la possibilità di creare i propri articoli, apportarvi modifiche e anche pubblicarli in autonomia.
L’Autore ha tutti i permessi sui propri articoli, questo include anche la possibilità di modificare gli articoli e di eliminarli anche dopo che sono stati pubblicati.
A differenza dell’Editor, l’Autore può solo vedere i commenti in attesa, ma non può moderarli (approvarli, segnalarli come spam o rispondere).
Il ruolo “Contributore”
Se prendiamo l’esempio di una redazione, in genere il ruolo Contributore è quello che viene attribuito in prima istanza a chi inizia a creare gli articoli su WordPress. Per intenderci, quindi, è il ruolo che viene assegnato ai nuovi redattori.
Si tratta, infatti, del ruolo predefinito che ha i permessi minimi per creare i propri articoli.
Un utente con ruolo Contributore può creare un articolo e modificarlo, e può anche eliminare l’articolo se è ancora in bozza. Dopodiché potrà modificare lo stato dell’articolo per mandarlo in revisione, ma non ha la possibilità di pubblicare in autonomia.
Un’altra differenza tra Contributore e Autore riguarda gli articoli già pubblicati. Il Contributore non può apportare modifiche, né eliminare gli articoli già pubblicati.
Ecco un esempio della bacheca di un utente con ruolo Contributore.
Il ruolo “Sottoscrittore”
Quando a un utente viene assegnato il ruolo di Sottoscrittore, potrà vedere solo il suo profilo utente. Questo significa che l’utente avrà modo di modificare le informazioni del suo profilo e aggiornare la password.
Il resto della bacheca di WordPress è inaccessibile a questo ruolo. Ecco un esempio della bacheca vista da un utente “Sottoscrittore”:
A differenza degli altri ruoli in questa lista, il Sottoscrittore non può creare articoli o fare altri tipi di modifiche.
A cosa serve quindi?
In genere viene utilizzato soprattutto nei siti eCommerce o nei siti su iscrizione, in tutti quei casi in cui vogliamo che i visitatori possano registrarsi al sito e accedere, ad esempio, a un’area riservata.
Come assegnare il ruolo agli utenti
Se amministriamo un sito WordPress possiamo assegnare il ruolo ai diversi utenti e anche modificare il ruolo di uno specifico utente in un momento successivo.
Ci sono diversi aspetti da tenere in considerazione.
Per prima cosa quando creiamo un nuovo sito WordPress, dobbiamo capire se ci serve attivare le registrazioni al sito o no. Nella maggior parte dei casi, non serve (ed è sconsigliato) permettere a chiunque di registrarsi al sito, a meno che non si abbia una ragione valida.
Possiamo scegliere se attivare le iscrizioni, dall’opzione “Iscrizione” andando su Impostazioni > Generali dalla bacheca di WordPress.
Se attiviamo le iscrizioni, tutti i visitatori che accedono alla pagina di login (www.tuosito.com/wp-admin/) potranno registrarsi.
Inoltre è importante verificare qual è il ruolo che avranno di base i nuovi utenti. Possiamo gestire questa scelta da Impostazioni > Generali alla voce “Ruolo predefinito nuovi utenti“.
In genere è sempre meglio impostare il ruolo che ha permessi minori, quindi “Sottoscrittore”.
Questo per quanto riguarda le registrazioni automatiche.
Quando invece creiamo un utente manualmente, possiamo scegliere di volta in volta il ruolo. Ora ti mostro come fare.
Assegnare il ruolo durante la creazione dell’utente
Andando su Utenti > Aggiungi nuovo possiamo creare il profilo di un nuovo utente sul nostro sito WordPress.
Ci basta compilare le informazioni richieste e inserire un indirizzo email valido (servirà per eventuali recuperi di password). Poi dovremo naturalmente inviare queste informazioni all’utente per permettergli di effettuare l’accesso a WordPress.
È proprio in questa fase che possiamo scegliere il ruolo dell’utente tra quelli disponibili, come vedi in questa schermata.
Modificare il ruolo di un utente esistente
Può capitare di dover modificare il ruolo di un utente, per esempio per dare la possibilità a un redattore di pubblicare in autonomia i propri articoli, modificando il suo ruolo da Contributore ad Autore.
Come amministratore del sito, possiamo vedere la lista di tutti gli utenti e modificarne anche il ruolo.
Per farlo andiamo su Utenti > Tutti gli utenti, poi clicchiamo su “Modifica” in corrispondenza dell’utente da modificare.
Ci troveremo davanti alla pagina di profilo dell’utente da cui è possibile cambiare i dati. Qui dal menu a tendina vicino a “Ruolo” possiamo cambiare il ruolo assegnato come vedi in questa schermata.
Dopo averlo fatto, bisogna scorrere fino in fondo alla pagina per cliccare sul pulsante “Aggiorna utente“.
Come creare ruoli utente personalizzati su WordPress
Nella maggior parte dei casi i ruoli predefiniti di WordPress sono sufficienti. Ci sono però situazioni in cui le capacità attribuite a un ruolo non sono sufficienti per le operazioni che vogliamo far svolgere a un utente.
Per fare un esempio pratico, immagina di avere un utente con ruolo Autore a cui vuoi assegnare anche la possibilità di gestire i commenti. In questo caso, invece di assegnare il ruolo superiore, quello di Editor, si può creare un ruolo personalizzato che sia una via di mezzo tra i due ruoli predefiniti.
Questo è solo un esempio, ma in realtà ci sono molte possibilità di creare ruoli ibridi e dare quindi a un utente solo le capacità che servono davvero, senza dover dare più permessi del dovuto.
Ora che abbiamo chiarito in quali casi può essere utile, vediamo in che modo possiamo personalizzare i ruoli utente. Ci sono più possibilità:
- usare un plugin;
- usare WP-CLI;
- creare un custom plugin per creare un nuovo ruolo.
Vediamo nel dettaglio come seguire questi tre metodi.
Creare un ruolo personalizzato usando un plugin
Ci sono diversi plugin che ci permettono di creare ruoli utente personalizzati in base alle nostre esigenze.
Tra questi ci sono:
- Members: ci permette di gestire ruoli utenti e capacità.
- User Role Editor: consente di creare nuovi ruoli e modificare quelli esistenti.
- PublishPress Capabilities: per gestire autorizzazioni e ruoli.
Le caratteristiche di base di questi tre plugin sono sovrapponibili, poi, come tutti i plugin, ognuno ha delle caratteristiche distintive e un’interfaccia un po’ diversa. Sta quindi a te, in base alle necessità, capire quello che è più adatto.
Ai fini di questa guida vedremo come utilizzare Members.
Breve guida pratica all’uso di Members
Dopo aver installato e attivato il plugin, vedremo una nuova voce nel menu di sinistra della bacheca di WordPress. Andando su Members > Ruoli possiamo avere una panoramica degli utenti del nostro sito, suddivisi però per ruoli.
Da qui possiamo anche modificare i ruoli predefiniti.
Ritornando all’esempio di cui parlavamo prima, abbiamo la possibilità di modificare il ruolo “Autore” aggiungendo la capacità di moderare i commenti.
Dopo aver fatto le modifiche ci basta cliccare sul pulsante “Aggiorna” per renderle effettive.
Un’altra possibilità, invece, è quella di creare un ruolo personalizzato.
Per farlo clicchiamo su Members > Aggiungi nuovo ruolo. Da questa schermata potremo scegliere il Nome del ruolo e stabilire una per una le capacità che deve avere. Poi per completare la creazione, dovremo cliccare su “Aggiungi ruolo“.
Per esempio potremmo creare un ruolo “Moderatore” che abbia solo la capacità di moderare i commenti.
Nella schermata qui sotto si possono vedere riepilogati i passi per la creazione di un nuovo ruolo con il plugin Members.
Dopo aver creato il nuovo ruolo, potremo assegnarlo agli utenti come abbiamo visto nelle sezioni precedenti di questa guida.
Creare ruoli personalizzati usando WP-CLI
WP-CLI è lo strumento da linea di comando che ci permette di gestire un’installazione di WordPress.
Apro una breve parentesi per chi non conosce ancora WP-CLI.
Questo tool è utilizzabile da terminale e attraverso dei comandi ci permette di installare temi e plugin, fare modifiche e anche creare nuovi ruoli utente.
Per imparare a padroneggiare questo strumento, ti invito a leggere la nostra guida a WP-CLI.
Vuoi usare WP-CLI per velocizzare il lavoro di gestione di WordPress? Con i piani hosting WordPress di SupportHost, trovi questo strumento già pronto all’uso e risparmi ore di lavoro.
In questa tabella ti mostro quali sono i principali comandi da conoscere per creare un nuovo ruolo e gestire le capacità.
Comando | Esempio | Descrizione |
---|---|---|
wp role list | Mostra la lista di tutti i ruoli disponibili. | |
wp role exists “nome ruolo” | wp role exists contributor | Verifica se il ruolo richiesto esiste. Nell’esempio, verifica se risulta esistere il ruolo “Contributore”. |
wp role create ruolo “Nome Ruolo” | wp role create moderatore “Moderatore” | Permette di creare un nuovo ruolo e di specificare il nome. In questo esempio stiamo creando un ruolo chiamato “Moderatore”. |
wp cap add ‘ruolo’ ‘capacità’ | wp cap add ‘author’ ‘moderate_comments’ | Con questo comando possiamo aggiungere una nuova capacità a un ruolo esistente. In questo esempio stiamo aggiungendo la capacità moderate_comments per la gestione dei commenti, al ruolo Autore. |
wp cap list ‘ruolo’ | wp cap list ‘moderatore’ | Con questo comando possiamo vedere tutta la lista di capacità attribuite al ruolo richiesto, nell’esempio ci verranno mostrate le capacità del ruolo Moderatore. |
wp cap list ‘ruolo1’ | xargs wp cap add ‘ruolo2’ | wp cap list ‘author’ | xargs wp cap add ‘moderatore’ | Questo comando ci permette di clonare tutte le capacità di un ruolo (ruolo 1) per assegnarle a un altro ruolo (ruolo 2). Nell’esempio stiamo aggiungendo tutte le capacità del ruolo “Autore” al ruolo personalizzato “Moderatore”. |
wp cap list ‘ruolo1’ | xargs wp cap remove ‘ruolo2’ | wp cap list ‘author’ | xargs wp cap remove ‘moderatore’ | Possiamo anche eliminare le capacità di un ruolo (ruolo1) da quelle di un altro ruolo (ruolo2). In questo esempio vengono messe a confronto le capacità di moderatore e autore e stiamo chiedendo di rimuovere le capacità che sono in comune. Come risultato dal ruolo di Moderatore verranno rimosse le capacità che sono assegnate al ruolo Autore. |
Puoi trovare altri comandi con esempi di utilizzo direttamente nella documentazione di WP-CLI.
Creare ruoli personalizzati con un plugin custom
Un’altra alternativa per aggiungere un ruolo personalizzato a WordPress, è quella di creare un piccolo plugin che abbia la funzione di registrare un nuovo ruolo.
Questa soluzione è più complessa delle altre, per cui procedi solo se sei a tuo agio con la creazione di piccoli snippet di codice e con le funzionalità di base di WordPress, come gli hook.
Quello che possiamo fare è creare un semplice plugin. Per farlo dobbiamo accedere ai file del sito e creare una cartella con il nome del plugin all’interno della cartella plugin.
Nel nostro esempio la cartella sarà “crea-ruolo-moderatore”. All’interno di essa dobbiamo creare un file .php, chiamato ad esempio “crea-ruolo-moderatore.php”.
Nel file incolliamo il codice del plugin.
La prima sezione, quella che vedi tra la riga con “/*” e la riga con “*/”, è costituita dalle informazioni che ci permettono di registrare il plugin e vederlo dalla dashboard di WordPress per poterlo attivare. Questa sezione può essere personalizzata cambiando nome del plugin, descrizione e URL dell’autore.
La seconda parte del codice contiene la funzione che ho chiamato “crea_ruolo_moderatore
” che ci permette di aggiungere il ruolo personalizzato grazie alla funzione di WordPress add_role
.
<?php
/*
Plugin Name: Crea ruolo moderatore
Description: Questo plugin crea un nuovo ruolo "moderatore" su WordPress che ha solo la capacità di gestire i commenti.
Author: SupportHost
Version: 1
Author URI: https://supporthost.com/it/
*/
function crea_ruolo_moderatore(){
add_role( 'moderatore', __( 'Moderatore'),
array(
'read' => true,
'moderate_comments' => true
)
);
}
register_activation_hook( __FILE__, 'crea_ruolo_moderatore' );
Ovviamente il codice qui sopra è un esempio che ho creato io per creare un ruolo “moderatore” che abbia solo la capacità di moderare i commenti.
Per ottenere il risultato che desideri, dovrai personalizzare questa parte di codice:
function crea_ruolo_moderatore(){
add_role( 'moderatore', __( 'Moderatore'),
array(
'read' => true,
'moderate_comments' => true
)
);
}
Potrai aggiungere nell’array le capacità che vuoi assegnare a quel ruolo e modificare anche il nome del ruolo stesso. Qui sotto un esempio di codice per farti capire meglio come bisogna personalizzarlo.
function crea_ruolo_nome_ruolo(){
add_role( 'nome_ruolo', __( 'Nome Ruolo'),
array(
/* inserisci lista capacità in questo modo*/
'capacita_1' => true,
'capacita_2' => true,
)
);
}
Dopo aver personalizzato la funzione con il nome del ruolo e le capacità, rimetti tutto insieme e ricordati che il nome della funzione deve corrispondere a quello in questa riga:
register_activation_hook( __FILE__, 'crea_ruolo_moderatore' );
Se, quindi, la tua funzione si chiama “crea_ruolo_guest”, dovrai usare il nome esatto della funzione nell’ultima riga del plugin. Fai riferimento al codice completo del plugin scritto all’inizio di questo paragrafo.
Dopo aver salvato il file, accedendo alla lista dei plugin del tuo sito WordPress, vedrai il nuovo plugin e potrai attivarlo.
All’attivazione del plugin, verrà registrato il ruolo “Moderatore” e potremo assegnarlo ai nostri utenti.
Una nota: disattivando il plugin, il ruolo custom che abbiamo creato non verrà eliminato. Per eliminare un ruolo possiamo usare la funzione remove_role( $role ). Puoi approfondirne l’uso leggendo i dettagli di questa funzione nella documentazione di WordPress.
Conclusioni
Se gestisci un sito WordPress con più utenti, ti sarai sicuramente ritrovato a dover assegnare i ruoli. Quando si assegna un ruolo a un utente gli si aprono delle porte ed è quindi importante sapere quali permessi vengono concessi in modo da mantenere l’accesso al minimo indispensabile.
Nella maggior parte dei casi ci basta usare i ruoli predefiniti di WordPress, ma può capitare di avere la necessità di dare dei permessi specifici ad esempio per permettere a un collaboratore di apportare alcune modifiche. In questi casi si può creare un ruolo personalizzato per quella esigenza oppure si possono modificare le capacità di quello specifico utente.
Adesso sai come fare a gestire i ruoli al meglio e a creare dei ruoli personalizzati quando le esigenze lo richiedono.
Ora tocca a te: ti è mai capitato di creare ruoli personalizzati? Quale metodo hai usato? Faccelo sapere nei commenti.
Lascia un commento