Function — Add or rename user roles - martindubenet/Wordpress GitHub Wiki
https://wordpress.org/support/article/roles-and-capabilities/
| Capability key | Administrator | Editor | Author | Contributor | Subscriber |
|---|---|---|---|---|---|
| activate_plugins | ✅ | ❌ | ❌ | ❌ | ❌ |
| customize | ✅ | ❌ | ❌ | ❌ | ❌ |
| delete_others_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| delete_others_posts | ✅ | ✅ | ❌ | ❌ | ❌ |
| delete_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| delete_posts | ✅ | ✅ | ✅ | ✅ | ❌ |
| delete_private_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| delete_private_posts | ✅ | ✅ | ❌ | ❌ | ❌ |
| delete_published_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| delete_published_posts | ✅ | ✅ | ✅ | ❌ | ❌ |
| delete_site | ✅ | ❌ | ❌ | ❌ | ❌ |
| edit_dashboard | ✅ | ❌ | ❌ | ❌ | ❌ |
| edit_others_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| edit_others_posts | ✅ | ✅ | ✅ | ❌ | ❌ |
| edit_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| edit_posts | ✅ | ✅ | ✅ | ✅ | ❌ |
| edit_private_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| edit_private_posts | ✅ | ✅ | ❌ | ❌ | ❌ |
| edit_published_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| edit_published_posts | ✅ | ✅ | ✅ | ❌ | ❌ |
| edit_theme_options | ✅ | ❌ | ❌ | ❌ | ❌ |
| export | ✅ | ❌ | ❌ | ❌ | ❌ |
| import | ✅ | ❌ | ❌ | ❌ | ❌ |
| list_users | ✅ | ❌ | ❌ | ❌ | ❌ |
| manage_categories | ✅ | ✅ | ❌ | ❌ | ❌ |
| manage_links | ✅ | ✅ | ❌ | ❌ | ❌ |
| manage_options | ✅ | ❌ | ❌ | ❌ | ❌ |
| moderate_comments | ✅ | ✅ | ❌ | ❌ | ❌ |
| promote_users | ✅ | ❌ | ❌ | ❌ | ❌ |
| publish_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| publish_posts | ✅ | ✅ | ✅ | ❌ | ❌ |
| read | ✅ | ✅ | ✅ | ✅ | ✅ |
| read_private_pages | ✅ | ✅ | ❌ | ❌ | ❌ |
| read_private_posts | ✅ | ✅ | ❌ | ❌ | ❌ |
| remove_users | ✅ | ❌ | ❌ | ❌ | ❌ |
| switch_themes | ✅ | ❌ | ❌ | ❌ | ❌ |
| upload_files | ✅ | ✅ | ✅ | ❌ | ❌ |
| Administrator | Editor | Author | Contributor | Subscriber |
|---|---|---|---|---|
| activate_plugins customize delete_others_pages delete_others_posts delete_pages delete_posts delete_private_pages delete_private_posts delete_published_pages delete_published_posts delete_site edit_dashboard edit_others_pages edit_others_posts edit_pages edit_posts edit_private_pages edit_private_posts edit_published_pages edit_published_posts edit_theme_options export import list_users manage_categories manage_links manage_options moderate_comments promote_users publish_pages publish_posts read read_private_pages read_private_posts remove_users switch_themes upload_files |
delete_others_pages delete_others_posts delete_pages delete_posts delete_private_pages delete_private_posts delete_published_pages delete_published_posts edit_others_pages edit_others_posts edit_pages edit_posts edit_private_pages edit_private_posts edit_published_pages edit_published_posts manage_categories manage_links moderate_comments publish_pages publish_posts read read_private_pages read_private_posts unfiltered_html upload_files |
delete_posts delete_published_posts edit_posts edit_published_posts publish_posts read upload_files |
delete_posts edit_posts read |
read |
function rename_existing_role() {
global $wp_roles;
if ( ! isset( $wp_roles ) )
$wp_roles = new WP_Roles();
$wp_roles->roles['contributor']['name'] = __('Sales Clerk', 'MyTheme');
$wp_roles->role_names['contributor'] = __('Sales Clerk', 'MyTheme');
}
add_action('init', 'rename_existing_role');
add_role(
'voluntary_worker',
__( 'Voluntary Worker', 'MyTheme' ),
array(
'read' => true
)
);