Role is a type of Page used for grouping permissions to users.

Any given User will have one or more roles, each with zero or more permissions assigned to it. Note that most public API-level access checking is typically performed from the User rather than the Role(s), as it accounts for the combined roles. Please also see User, Permission and the access related methods on Page.


Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the Role class also inherits all the methods and properties of: Page, WireData and Wire.

Show class?             Show args?        

Common

NameReturnSummary 
Role::addPermission($permission)
boolAdd the given Permission string, id or object. 
Role::hasPermission($permission)
boolDoes this role have the given permission name, id or object? 
Role::id int Numeric page ID of role.  
Role::name string Name of role.  
Role::permissions PageArray PageArray of permissions assigned to Role. 
Role::removePermission($permission)
boolRemove the given permission string, id or object. 

Additional methods and properties

In addition to the methods and properties above, Role also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.137

Twitter updates

  • New post: This week we’ll take a look at a new version of FormBuilder that's on the way (with a screencast), as well as the latest version of the core: ProcessWire 3.0.140— More
    6 September 2019
  • We added WebP image support this year and many have been adopting it in existing projects. We look at a process used for migrating existing websites to WebP images— from preliminary considerations to implementation & testing, w/lots of tips & tricks too: More
    16 August 2019
  • Core version 3.0.137 on the dev branch adds the ability to hook multiple methods at once, in a single call. This post details how it works and provides a useful example of how you might put it to use in your development environment— More
    2 August 2019

Latest news

  • ProcessWire Weekly #279
    This week in the 279th issue of ProcessWire Weekly we're going to introduce some of the latest third party modules out there, and highlight a brand new site of the week. Read on!
    Weekly.pw / 14 September 2019
  • ProcessWire 3.0.140 and FormBuilder v40
    This week we’ll take a look at a new version of FormBuilder that's on the way (with a screencast), as well as the latest version of the core: ProcessWire 3.0.140.
    Blog / 6 September 2019
  • Subscribe to weekly ProcessWire news

“Yesterday I sent the client a short documentation for their ProcessWire-powered website. Today all features already used with no questions. #cmsdoneright—Marc Hinse, Web designer/developer