I ruoli (roles) di WordPress di default sono Sottoscrittore, Collaboratore, Autore, Editore, Amministratore, questi ruoli ci aiutano a creare utenti con diritti amministrativi differenti, ma cosa succede se abbiamo la necessità di creare un ruolo personalizzato ?
Possiamo infatti scrivere una piccola funzione o un plugin che ci permette di aggiungere dei ruoli custom (custom role) con le relativie autorizzazioni (capabilities), vediamo subito come fare.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$result = add_role( 'dipendente', __( 'Dipendente' ), array( 'read' => true, 'edit_posts' => true, 'delete_posts' => false, 'create_users' => true, 'install_themes' => true, ) ); if ( null !== $result ) { echo 'Aggiunto nuovo ruolo!'; } else { echo 'Ops... Esiste già un ruolo con lo stesso nome'; } |
Se volessimo creare un plugin che alla sua attivazione crei la regola, scriveremmo
|
1 2 3 4 |
function add_roles_on_plugin_activation() { add_role( 'dipendente', 'Dipendente', array( 'read' => true, 'level_0' => true ) ); } register_activation_hook( __FILE__, 'add_roles_on_plugin_activation' ); |
Lista di tutte le capabilities disponibili per WordPress
| Capability | Super Admin | Amm.re | Editore | Autore | Coll.re | Sott.re |
|---|---|---|---|---|---|---|
| create_sites | Sì | |||||
| delete_sites | Sì | |||||
| manage_network | Sì | |||||
| manage_sites | Sì | |||||
| manage_network_users | Sì | |||||
| manage_network_plugins | Sì | |||||
| manage_network_themes | Sì | |||||
| manage_network_options | Sì | |||||
| upload_plugins | Sì | |||||
| upload_themes | Sì | |||||
| Capability | Super Admin | Amm.re | Editore | Autore | Coll.re | Sott.re |
| activate_plugins | Sì | Sì | ||||
| create_users | Sì | Sì | ||||
| delete_plugins | Sì | Sì | ||||
| delete_themes | Sì | Sì | ||||
| delete_users | Sì | Sì | ||||
| edit_files | Sì | Sì | ||||
| edit_plugins | Sì | Sì | ||||
| edit_theme_options | Sì | Sì | ||||
| edit_themes | Sì | Sì | ||||
| edit_users | Sì | Sì | ||||
| export | Sì | Sì | ||||
| import | Sì | Sì | ||||
| Capability | Super Admin | Amm.re | Editore | Autore | Coll.re | Sott.re |
| install_plugins | Sì | Sì | ||||
| install_themes | Sì | Sì | ||||
| list_users | Sì | Sì | ||||
| manage_options | Sì | Sì | ||||
| promote_users | Sì | Sì | ||||
| remove_users | Sì | Sì | ||||
| switch_themes | Sì | Sì | ||||
| update_core | Sì | Sì | ||||
| update_plugins | Sì | Sì | ||||
| update_themes | Sì | Sì | ||||
| edit_dashboard | Sì | Sì | ||||
| customize | Sì | Sì | ||||
| delete_site | Sì | Sì | ||||
| Capability | Super Admin | Amm.re | Editore | Autore | Coll.re | Sott.re |
| moderate_comments | Sì | Sì | Sì | |||
| manage_categories | Sì | Sì | Sì | |||
| manage_links | Sì | Sì | Sì | |||
| edit_others_posts | Sì | Sì | Sì | |||
| edit_pages | Sì | Sì | Sì | |||
| edit_others_pages | Sì | Sì | Sì | |||
| edit_published_pages | Sì | Sì | Sì | |||
| publish_pages | Sì | Sì | Sì | |||
| delete_pages | Sì | Sì | Sì | |||
| delete_others_pages | Sì | Sì | Sì | |||
| delete_published_pages | Sì | Sì | Sì | |||
| delete_others_posts | Sì | Sì | Sì | |||
| delete_private_posts | Sì | Sì | Sì | |||
| edit_private_posts | Sì | Sì | Sì | |||
| read_private_posts | Sì | Sì | Sì | |||
| delete_private_pages | Sì | Sì | Sì | |||
| edit_private_pages | Sì | Sì | Sì | |||
| read_private_pages | Sì | Sì | Sì | |||
| unfiltered_html | Sì | Sì | Sì | |||
| Capability | Super Admin | Amm.re | Editore | Autore | Coll.re | Sott.re |
| edit_published_posts | Sì | Sì | Sì | Sì | ||
| upload_files | Sì | Sì | Sì | Sì | ||
| publish_posts | Sì | Sì | Sì | Sì | ||
| delete_published_posts | Sì | Sì | Sì | Sì | ||
| edit_posts | Sì | Sì | Sì | Sì | Sì | |
| delete_posts | Sì | Sì | Sì | Sì | Sì | |
| Capability | Super Admin | Amm.re | Editore | Autore | Coll.re | Sott.re |
| read | Sì | Sì | Sì | Sì | Sì | Sì |
Tabella liberamente tradotta da https://codex.wordpress.org/Roles_and_Capabilities
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.




