Come creare un ruolo su WP e assegnargli dei permessi
Ci sono molti plugin che ti permettono di creare ruoli ed assegnare permessi e capacità nel sito.
Sinceramente, non ho mai trovato quello che supportasse egregiamente le mie necessità.
Quindi a volte preferisco gestire il tutto da codice senza dover aggiungere un ulteriore plugin che inevitabilmente andrebbe a pesare sulle prestazioni del sito.
Quali sono i ruoli WordPress e i loro permessi
I ruoli WordPress e i relativi permessi sono normale amministrazione nella gestione degli accessi degli utenti. Per capire quali sono i ruoli degli utenti in WordPress, devi prima sapere quali sono i suoi permessi. I permessi (capability in inglese) definiscono qualsiasi azione che un utente (o meglio un ruolo) può intraprendere in WordPress.
Ecco alcuni esempi di permessi disponibili in WordPress e come sono referenziate nel codice, cioè come ci si riferisce a questi permessi quando si scrive codice:
- Leggere i messaggi (
read
) - Scrivere e modificare i messaggi (
edit_posts
) - Pubblicare i messaggi (
publish_posts
) - Installare i plugin (
install_plugins
) - Eliminare temi (
delete_themes
) - Creare utenti (
create_users
) - Moderare contenuti (
moderate_comments
)
La maggior parte dei permessi sono auto-esplicativi, il loro nome dice già a cosa servono. Sappi, però, che WordPress ha più di 70 permessi hardcoded, cioè scritte nel suo core, nel motore.
Tre cose fondamentali da sapere sui ruoli
- I Ruoli WordPress sono, di fatto, degli gruppi di permessi che puoi assegnare ad ogni utente, gli utenti con lo stesso ruolo avranno le medesime permessi
- Ogni utente di WordPress deve avere un ruolo
- Un utente può intraprendere solo le azioni che il suo ruolo gli garantisce
PERMESSI | Super Admin | Admin | Editor | Autore | Contr. | Subs. |
---|---|---|---|---|---|---|
Read Posts | X | X | X | X | X | X |
Post Comments | X | X | X | X | X | X |
Creare bozze | X | X | X | X | X | |
Pubblicare i propri post | X | X | X | X | ||
Upload media | X | X | X | X | ||
Creare pagine | X | X | X | |||
Moderare contenuti | X | X | X | |||
Gestire temi | X | X | ||||
Gestire utenti | X | X | ||||
Creare una rete | X |
Nella tabella qui sopra sono indicate alcune capacità e quali ruoli, tra quelli standard, possono usufruirne. Tutti possono leggere i post, ma solo i contributor o ruoli superiori possono crearne. Gli editor possono gestire i contenuti, ma solo gli admin e i super admin possono gestire i temi.
Più capacità ha un ruolo, più in alto si trova in una ipotetica scala di responsabilità e gestione.
WordPress usa molte delle capacità native (chiamate in precedenza hardcoded) per definire i suoi ruoli utente di default. Per esempio, concede agli Amministratori (admin) e agli Editori (editor) la publish_page
capability, ma non la assegna agli Abbonati (subscribers) e ai Collaboratori (contributor).
Ogni utente ha come minimo un nome utente, una password, un indirizzo e-mail e un ruolo WordPress.
Detto questo ecco come assegnare gli stessi permessi del ruolo amministativo ad un nuovo ruolo di Moderatore
<?php /* Create a Moderator role which is a clone of Administrator */ add_action('init', 'cloneRole'); function cloneRole() { $adm = get_role('administrator'); $adm_cap= array_keys( $adm->capabilities ); //get administator capabilities add_role('moderator', 'Moderatore'); //create new role $new_role = get_role('moderator'); foreach ( $adm_cap as $cap ) { $new_role->add_cap( $cap ); //clone administrator capabilities to new role } }
Questo codice va inserito nel functions.php del tema figlio o negli snippets se stai usando un plugin dedicato.
Se vuoi una mano con la personalizzazione del tuo sito in WordPress, contattami attraverso questo modulo
Lascia un Commento
Vuoi partecipare alla discussione?Sentitevi liberi di contribuire!