Ajouter un rôle dans WordPress
Il existe de nombreuses extensions qui permettent de le faire. Je montre dans cet article comment le faire de manière programmatique afin de s’affranchir d’une nouvelle installation de plugin supplémentaire.
La méthode est plutôt simple grâce à la méthode add_role
qui peut être appelé à tout moment lors de l’exécution WordPress.
Le code :
Une autre manière très précise de reproduire les mêmes droits à partir d’un rôle standards de WordPress :
add_role( 'sukellos_subscriber', 'Abonné Sukellos', get_role( 'subscriber' )->capabilities );
Les capacités des rôles standards dans WordPress
Dans cet exemple j’utilise des capacités de simple abonné : subscriber
Voici une liste des capacités correspondantes à chaque rôle dans WordPress :
Capability | Super Admin | Administrator | Editor | Author | Contributor | Subscriber |
---|---|---|---|---|---|---|
create_sites | Y | |||||
delete_sites | Y | |||||
manage_network | Y | |||||
manage_sites | Y | |||||
manage_network_users | Y | |||||
manage_network_plugins | Y | |||||
manage_network_themes | Y | |||||
manage_network_options | Y | |||||
upload_plugins | Y | |||||
upload_themes | Y | |||||
upgrade_network | Y | |||||
setup_network | Y | |||||
Capability | Super Admin | Administrator | Editor | Author | Contributor | Subscriber |
activate_plugins | Y | Y | ||||
create_users | Y | Y | ||||
delete_plugins | Y | Y | ||||
delete_themes | Y | Y | ||||
delete_users | Y | Y | ||||
edit_files | Y | Y | ||||
edit_plugins | Y | Y | ||||
edit_theme_options | Y | Y | ||||
edit_themes | Y | Y | ||||
edit_users | Y | Y | ||||
export | Y | Y | ||||
import | Y | Y | ||||
install_plugins | Y | Y | ||||
install_themes | Y | Y | ||||
list_users | Y | Y | ||||
manage_options | Y | Y | ||||
promote_users | Y | Y | ||||
remove_users | Y | Y | ||||
switch_themes | Y | Y | ||||
update_core | Y | Y | ||||
update_plugins | Y | Y | ||||
update_themes | Y | Y | ||||
edit_dashboard | Y | Y | ||||
customize | Y | Y | ||||
delete_site | Y | Y | ||||
Capability | Super Admin | Administrator | Editor | Author | Contributor | Subscriber |
moderate_comments | Y | Y | Y | |||
manage_categories | Y | Y | Y | |||
manage_links | Y | Y | Y | |||
edit_others_posts | Y | Y | Y | |||
edit_pages | Y | Y | Y | |||
edit_others_pages | Y | Y | Y | |||
edit_published_pages | Y | Y | Y | |||
publish_pages | Y | Y | Y | |||
delete_pages | Y | Y | Y | |||
delete_others_pages | Y | Y | Y | |||
delete_published_pages | Y | Y | Y | |||
delete_others_posts | Y | Y | Y | |||
delete_private_posts | Y | Y | Y | |||
edit_private_posts | Y | Y | Y | |||
read_private_posts | Y | Y | Y | |||
delete_private_pages | Y | Y | Y | |||
edit_private_pages | Y | Y | Y | |||
read_private_pages | Y | Y | Y | |||
unfiltered_html | Y | Y | Y | |||
unfiltered_html | Y | Y | Y | |||
Capability | Super Admin | Administrator | Editor | Author | Contributor | Subscriber |
edit_published_posts | Y | Y | Y | Y | ||
upload_files | Y | Y | Y | Y | ||
publish_posts | Y | Y | Y | Y | ||
delete_published_posts | Y | Y | Y | Y | ||
Capability | Super Admin | Administrator | Editor | Author | Contributor | Subscriber |
edit_posts | Y | Y | Y | Y | Y | |
delete_posts | Y | Y | Y | Y | Y | |
Capability | Super Admin | Administrator | Editor | Author | Contributor | Subscriber |
read | Y | Y | Y | Y | Y | Y |