Al momento stai visualizzando Come modificare i roles di WordPress e lavorarci

Come modificare i roles di WordPress e lavorarci

  • Autore dell'articolo:
  • Categoria dell'articolo:Guide

In precedenza avevo evidenziato, peraltro un po’ a malincuore, come la gestione dei ruoli in WP sia piuttosto carente e come sia opportuno non metterci mano: vorrei quindi dedicare un intero articolo all’argomento, cercando di capirci qualcosa in più anche in base all’esperienza che ho fatto negli ultimi tempi.

Cosa sono i ruoli (roles) di WordPress?

I ruoli servono a stabilire, semplificando, “chi possa fare cosa” – in generale in un sistema informatico qualsiasi (e nello specifico in un sito multi-utente): ad esempio un amministratore può cambiare theme, modificare il core, abilitare plugin e creare un utenti, cosଠcome un utente ospite può soltanto creare post che verranno pubblicati dopo l’approvazione. I ruoli sono per questo motivo delicatissimi ed assegnarli male può comportare la compromissione dell’intero sito e l’eventuale perdita dei dati. Ho scritto a più riprese che WordPress è molto soggetto ad attacchi informatici, e questo per due ragioni apparenti fondamentali: la prima è il sistema di login (le password scelte sono davvero troppo facili da indovinare, in certi casi), il secondo sono i plugin fallati che vengono installati nonostante tutto. Molti webmaster sono convintissimi che sia un problema da relegare ai provider di hosting, ma non è cosà¬, quantomeno se curate voi stessi la messa a punto del sito da webmaster e se state utilizzando hosting condivisi, dedicati unmanaged e cosଠvia.

Nel frattempo siamo pervenuti ad un core sempre più avanzato, e di conseguenza ad una nuova gestione dei permessi utenti semplice ed intuitiva mediante Joomla!, ed in questo il CMS (che personalmente non amo) sembra obiettivamente mettere la freccia per sorpassare.

Pubblicità - Continua a leggere sotto :-)
Sei un webmaster? Prova TheMoneytizer per il tuo sito

Come sono gestiti i ruoli in WordPress

Dalle mie ricerche emerge come la maggioranza dei migliori plugin per modificare i ruoli sia a pagamento: una testimonianza del fatto che questa feature non sia affatto supportata nè sostenuta dalla comunità , e che farne uso sia difficile quanto, in certa misura, sconsigliabile. In WordPress, stando alla documentazione del codex, i ruoli predefiniti sono sei: Super Admin (che può fare tutto), Administrator, Editor, Author, Contributor e Subscriber (il più “vincolato” della catena).

Ognuno di essi potrà  eseguire un insieme predefinito di azioni (capabilities), ad esempio:

  • Super Admin – può accedere ad un network di siti in WordPress (multi-site);
  • Administrator – può accedere ad un singolo sito in WordPress (single-site);
  • Editor – può editare e pubblicare post altrui (approvarli);
  • Author – può editare e pubblicare post propri (auto-pubblicarli);
  • Contributor – può editare post propri (senza auto-pubblicarli), previa approvazione di un Editor;
  • Subscriber – può semplicemente manipolare il proprio profilo.

Come modificare i roles di WP

Prima di rispondere al come, chiediamoci perchè vogliamo farlo: i ruoli predefiniti sono lଠapposta, e se un utente deve avere maggiori (o minori) privilegi basta scalarli uno per volta da “Utenti->Tutti gli utenti“. una circostanza molto comune, del resto, è che degli utenti contributor abbiano l’opportunità  discrivere articoli corredati di immagini. In questa immagine viene mostrato infatti che tale categoria di utenti del sito WordPress non possono effettuare l’upload, e questo effettivamente diventa problematico.

Del resto un author può scrivere articoli con immagini, ma senza necessità  di approvazione: se cerchiamo una via di mezzo, di fatto, è necessario per forza di cose intervenire sui ruoli.

Pubblicità - Continua a leggere sotto :-)
Cerchi alternative a Google Adsense per il tuo sito? Prova TheMoneytizer!
Usa il codice 189ed7ca010140fc2065b06e3802bcd5 per ricevere 5 € dopo l'iscrizione

Sei un webmaster? Prova TheMoneytizer per il tuo sito

Plugin di WordPress per modificare i ruoli

Il miglior plugin per WordPress che dovrebbe fare al caso vostro, almeno al momento attuale, è User Role Editor, che viene aggiornato spessisimo (ultimo aggiornamento è del 7 maggio 2018, momento in cui aggiorno questo post) è sostanzialmente un editor di capabilities attivabile lato amministratore.

Si tratta del più pratico che ho trovato in giro, tra i prodotti gratuiti: mi pare anche che abbia un’interfaccia piuttosto immediata, per cui suggerirei di usare questo fermo restando che non è l’unica soluzione possibile (esempio: potremmo creare un ruolo intermedio tra autore e contributore ex novo e dargli tutti i privilegi che vogliamo). Ricordiamoci comunque che effettuare questo genere di modifiche, in linea di principio, crea potenzialmente delle falle di sicurezza.

Per la stessa ragione suggerisco di non usare Role Scoper (un po’ troppo complicato, secondo me), Capability Manager (obsoleto), User assign categories (obsoleto), e di preferirvi quello che ho segnalato. Assolutamente sconsigliato di adottare i vari plugin per modificare i role che non siano hostati sul sito ufficiale di WordPress, in quanto possono seriamente mettere a repentaglio la stabilità  e sicurezza del vostro blog.

Di recente ho pure scovato Press Permite Core ma non ho avuto mai modo di usarlo, finora.

Modificare i roles direttamente nel theme

Un’ulteriore soluzione per modificare i ruoli consiste nell’agire direttamente sul theme, in particolare agendo sul file functions.php: l’esempio viene riportato dal blog SoulSizzle e lo ricopio qui per comodità  (è anche piuttosto auto-esplicativo, se avete un minimo di conoscenze di PHP, in caso chiedete pure nei commenti). Ricordatevi pero’ che cosଠfacendo andrete a perdere le modifiche fatte una volta che cambiate theme, e progettualmente non è troppo corretto legare una modifica del genere al theme utilizzato.

if ( current_user_can('contributor') && !current_user_can('upload_files') )
	add_action('admin_init', 'allow_contributor_uploads');

function allow_contributor_uploads() {
	$contributor = get_role('contributor');
	$contributor->add_cap('upload_files');
}

Fonte: Roles di WordPress – Photo by JefferyTurner

Pubblicità - Continua a leggere sotto :-)

👇 Contenuti da non perdere 👇



Questo sito esiste da 4694 giorni (13 anni), e contiene ad oggi 4356 articoli (circa 3.484.800 parole in tutto) e 23 servizi online gratuiti. – Leggi un altro articolo a caso

Numero di visualizzazioni (dal 21 agosto 2024): 0
Pubblicità - Continua a leggere sotto :-)
Segui il canale ufficiale Telegram @trovalost https://t.me/trovalost
Seguici su Telegram: @trovalost

Trovalost.it

Ho creato Trovalost.it e ho scritto quasi tutti i suoi contenuti relativi all'informatica. Credits immagini: pexels.com, pixabay.com, wikipedia.org, Midjourney, StarryAI, se non diversamente specificato.