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