Come creare un ruolo utente personalizzato in WordPress

Pubblicato: 2021-02-06

Quando si crea un sito Web con un CMS, la flessibilità è sempre la benvenuta. Per fortuna, WordPress ha più della sua quota, con temi e plugin che ci consentono di creare un'esperienza altamente personalizzata.

Ma la sua flessibilità va oltre solo quelle cose extra che possiamo installare. In realtà è integrato nel cuore del software.

La possibilità di creare ruoli utente personalizzati è un esempio lampante. Oggi daremo un'occhiata a cosa sono, perché vorresti usarli e alcune tecniche diverse per crearli.

Controllo granulare sulle autorizzazioni utente

In ogni installazione di WordPress hai già accesso a una selezione di ruoli utente predefiniti. Ci consentono di designare ciò che gli utenti possono e non possono fare nel back-end (aka Dashboard) del sito web.

Questo ha perfettamente senso. Non tutti coloro che gestiscono i contenuti devono disporre dei privilegi di amministratore. Pertanto, possiamo assegnare a ciascun utente un ruolo in base alle necessità. È un'ottima misura di sicurezza e può garantire meglio contro incidenti o persino qualcuno che installa plug-in.

Funziona anche sul front-end. Se desideri che solo gli utenti che hanno effettuato l'accesso vedano contenuti specifici, puoi integrare questa funzionalità nel tuo tema o aggiungerla tramite un plug-in di abbonamento.

Ma mentre i ruoli utente predefiniti (amministratore, editore, autore, collaboratore e abbonato) sono utili, a volte è necessario quel tocco in più di controllo. Ecco perché WordPress offre la possibilità di creare i propri ruoli personalizzati.

Quando utilizzare un ruolo personalizzato

Un ruolo utente personalizzato può tornare utile in diversi scenari. Ecco alcuni dei più comuni che potresti incontrare:

Hai utenti che gestiscono diversi tipi di contenuto

Per impostazione predefinita, WordPress viene fornito con due tipi di contenuti chiave rivolti al pubblico: Post e Pagine. Ma è facile aggiungere altro attraverso l'uso di tipi di post personalizzati. Ad esempio, potresti creare tipi di post per cose come comunicati stampa o membri dello staff. Inoltre, vari plugin possono anche installare i propri tipi di post.

Le grandi organizzazioni possono avere diversi tipi di contenuto, con in mente persone specifiche per gestirli. In questo caso, un ruolo utente predefinito non sarebbe l'ideale, in quanto potrebbe fornire l'accesso all'intero lotto (o viceversa, a seconda della configurazione). Un ruolo personalizzato, tuttavia, consentirebbe a utenti diversi di vedere solo i tipi di post assegnati loro.

Un utente deve fare solo una cosa

Ci sono occasioni in cui un utente potrebbe aver bisogno di un livello unico di accesso alle funzionalità del tuo sito web. Ad esempio, supponiamo che tu esegua un corso online. Potresti avere un membro del team che ha bisogno di accedere all'intero corso sul front-end e sul back-end per assicurarsi che funzioni correttamente e che il contenuto sia accurato.

Se tutto ciò che questo membro del team deve fare è concentrarsi sul corso stesso, un account amministratore potrebbe essere eccessivo. Con un ruolo utente personalizzato, possono svolgere il proprio lavoro senza dover ricorrere a opzioni non necessarie.

Devi "aumentare di livello" un ruolo esistente

A volte, un ruolo utente WordPress esistente è quasi perfetto. Ma forse c'è una cosa in più a cui un utente deve accedere.

Assumi il ruolo dell'autore. Per impostazione predefinita, possono pubblicare post, ma non pagine. Normalmente, dovresti portare l'utente su Editor. Potrebbe andare bene in alcuni casi. Tuttavia, potrebbero essere incluse altre funzionalità a cui non si desidera che questo particolare utente acceda. In questo caso, la creazione di un ruolo personalizzato potrebbe essere l'opzione migliore.

Come creare un ruolo utente personalizzato

Esistono due metodi diversi per creare un ruolo utente WordPress personalizzato. Il primo è aggiungere del codice a un plug-in personalizzato o al file functions.php del tuo tema. Il secondo consiste nell'installare uno dei tanti plugin disponibili che consentono di creare e modificare ruoli.

Il metodo che utilizzi dipende davvero dalle preferenze personali. Se vuoi la possibilità di selezionare e scegliere le funzionalità dell'utente in modo visivo, un plug-in ha più senso. Ma se sei a tuo agio con il codice e/o non vuoi che altri amministratori giochino con le impostazioni, l'aggiunta di uno snippet potrebbe fare al caso tuo.

In ogni caso, ti faremo iniziare con alcuni esempi di codice e anche una selezione di plugin.

Innanzitutto, ti consigliamo di studiare le varie capacità utente offerte da WordPress. Tieni inoltre presente che anche i tipi di post personalizzati possono avere le loro capacità personalizzate. Questo può tornare utile nel primo scenario di esempio menzionato sopra.

Metodo n. 1: aggiungi uno snippet di codice

In questo esempio creeremo un ruolo utente denominato "Membro dello staff". Ciò include tutte le funzionalità del ruolo Autore, ma con la possibilità aggiuntiva di modificare e pubblicare pagine.

Ogni funzionalità che stiamo assegnando al ruolo è elencata nello snippet di seguito ed è impostata su " true ". L'eccezione qui è che non vogliamo che gli utenti con questo ruolo eliminino le pagine pubblicate, quindi lo stiamo impostando esplicitamente su " false ", solo per sicurezza.

Ancora una volta, questo codice andrebbe nel file functions.php del tuo tema o, facoltativamente, in un plug-in personalizzato.

 /* Create Staff Member User Role */ add_role( 'staff_member', // System name of the role. __( 'Staff Member' ), // Display name of the role. array( 'read' => true, 'delete_posts' => true, 'delete_published_posts' => true, 'edit_posts' => true, 'publish_posts' => true, 'upload_files' => true, 'edit_pages' => true, 'edit_published_pages' => true, 'publish_pages' => true, 'delete_published_pages' => false, // This user will NOT be able to delete published pages. ) );

Dopo aver salvato questo codice e aggiornato il nostro sito Web nel browser, possiamo aggiungere un nuovo utente con questo ruolo.

Schermata Aggiungi nuovo utente di WordPress.

Quando il nostro utente con il ruolo di membro dello staff effettua l'accesso, può vedere sia le pagine che i post.

L'utente che ha effettuato l'accesso vede i post e le pagine.

Un'altra alternativa sarebbe semplicemente aggiungere alcune funzionalità al ruolo Autore esistente. Possiamo farlo tramite la funzione add_cap() :

 /* Upgrade the Author Role */ function author_level_up() { // Retrieve the Author role. $role = get_role( 'author' ); // Let's add a set of new capabilities we want Authors to have. $role->add_cap( 'edit_pages' ); $role->add_cap( 'edit_published_pages' ); $role->add_cap( 'publish_pages' ); } add_action( 'admin_init', 'author_level_up');

Entrambi questi frammenti di codice fanno essenzialmente la stessa cosa. Tuttavia, l'aggiunta del nuovo ruolo Membro dello staff potrebbe essere la cosa migliore nei casi in cui hai già utenti con il ruolo Autore e non vuoi che abbiano capacità extra.

Metodo 2: utilizzare un plug-in

La funzionalità di cui sopra può essere facilmente replicata tramite l'uso di un plug-in. Diversi sono stati creati per questo tipo di ruolo utente e gestione delle capacità. Offrono un vantaggio in quanto utilizzano una GUI e aggiungono un livello di praticità all'intero processo.

Diamo un'occhiata ad alcune delle opzioni più popolari:

Editor ruolo utente

Con Editor ruoli utente, aggiungere o rimuovere funzionalità per un ruolo è semplice come selezionare o deselezionare una casella nelle impostazioni. Hai anche la possibilità di creare i tuoi ruoli utente personalizzati e impostare tutte le funzionalità necessarie. Il plugin supporta anche le installazioni multisito di WordPress.

Editor ruolo utente WPFront

WPFront User Role Editor offre funzionalità simili, consentendo di aggiungere o modificare ruoli utente. Ma consente anche agli amministratori di migrare gli utenti da un ruolo all'altro e di assegnare più ruoli a singoli utenti.

Gestore di accesso avanzato

Se stai cercando qualcosa con un ambito più ampio, Advanced Access Manager potrebbe essere una buona scelta per te. Offre la gestione dei ruoli e delle capacità, oltre alla possibilità di controllare l'accesso alle funzionalità di frontend e backend come menu e widget.

Conosci i tuoi ruoli

La possibilità di creare ruoli utente personalizzati è solo un motivo in più per amare WordPress. È qualcosa di molto di nicchia, ma può essere estremamente utile quando hai bisogno di qualcosa che vada oltre i ruoli predefiniti.

Quindi, la prossima volta che ti trovi in ​​una situazione in cui è necessario il controllo delle capacità dell'utente, sappi che hai questo potente strumento a tua disposizione.