WordPress uses a concept of Roles, designed to give the site owner the ability to control what users can and cannot do within the site. A site owner can manage the user access to such tasks as writing and editing posts, creating Pages, defining links, creating categories, moderating comments, managing plugins, managing themes, and managing other users, by assigning a specific role to each of the users.
WordPress has six pre-defined roles: Super Admin, Administrator, Editor, Author, Contributor and Subscriber. Each role is allowed to perform a set of tasks called Capabilities. There are many capabilities including "publish_posts", "moderate_comments", and "edit_users". A default set of capabilities is pre-assigned to each role, but other capabilites can be assigned or removed using the add_cap() and remove_cap() functions. New roles can be introduced or removed using the add_role() and remove_role() functions.
The Super Admin role allows a user to perform all possible capabilities. Each of the other roles has a decreasing number of allowed capabilities. For instance, the Subscriber role has just the "read" capability. One particular role should not be considered to be senior to another role. Rather, consider that roles define the user's responsibilities within the site.
Upon installing WordPress, an Administrator account is automatically created.
You can see a listing of all defined roles by accessing the role_names property of the global WP_Roles object (which you can retrieve with wp_roles(), or, prior to version 4.3, with global $wp_roles;).
A Role defines a set of tasks a user assigned the role is allowed to perform. For instance, the Super Admin role encompasses every possible task that can be performed within a Network of virtual WordPress sites. The Administrator role limits the allowed tasks only to those which affect a single site. On the other hand, the Author role allows the execution of just a small subset of tasks.
The following sections list the default Roles and their capabilities:
Multisite Super Admins have, by default, all capabilities. The following Multisite-only capabilities are therefore only available to Super Admins:
In the case of single site WordPress installation, Administrators are, in effect, Super Admins. As such, they are the only ones to have access to additional admin capabilities.
The capabilities of Administrators differs between single site and Multisite WordPress installations. All administrators have the following capabilities:
Only Administrators of single site installations have the following capabilities. In Multisite, only the Super Admin has these abilities:
The following capabilities are special cases:
define( 'ALLOW_UNFILTERED_UPLOADS', true );
With this constant defined, all roles on a single site install can be given the unfiltered_upload capability, but only Super Admins can be given the capability on a Multisite install.
(single site or
enabled by network setting)
|create_users||Y||Y (single site)|
|delete_plugins||Y||Y (single site)|
|delete_themes||Y||Y (single site)|
|delete_users||Y||Y (single site)|
|edit_files||Y||Y (single site)|
|edit_plugins||Y||Y (single site)|
|edit_themes||Y||Y (single site)|
|edit_users||Y||Y (single site)|
|install_plugins||Y||Y (single site)|
|install_themes||Y||Y (single site)|
|update_core||Y||Y (single site)|
|update_plugins||Y||Y (single site)|
|update_themes||Y||Y (single site)|
|unfiltered_html||Y||Y (single site)||Y (single site)|
Prior to version 2.0, WordPress used a user User Levels system. This was replaced in version 2.0 with the much improved and more extensible Roles and Capabilities system you see today. To maintain backwards compatibility with plugins that still use the user levels system (although this is very much discouraged), the default Roles in WordPress also include Capabilities that correspond to these levels. User Levels were finally deprecated in version 3.0.