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. 
Role::wired()
(nothing)Wired to API 

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.214

Twitter updates

  • This week ProcessWire 3.0.214 is on the dev branch. Relative to 3.0.213 this version has 16 new commits which include the addition of 3 new pull requests, 6 issue fixes, a new WireNumberTools utility class, and various other improvements. More
    17 March 2023
  • ProcessWire 3.0.213 core updates: This week we’ll look at the new WireSitemapXML module, a new WireNumberTools core class, and a new ability for Fieldtype modules to specify useful ready-to-use configurations when creating new fields. More
    24 February 2023
  • ProcessWire 3.0.212 core updates— More
    17 February 2023

Latest news

  • ProcessWire Weekly #462
    In the 462nd issue of ProcessWire Weekly we'll cover the latest core updates, check out a new third party module called Template Access Log, and more. Read on!
    Weekly.pw / 18 March 2023
  • ProcessWire 3.0.213 core updates
    This week we’ll look at the new WireSitemapXML module, a new WireNumberTools core class, and a new ability for Fieldtype modules to specify useful ready-to-use configurations when creating new fields.
    Blog / 24 February 2023
  • 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