Template::getRoles() method

Get the role pages that are part of this template

  • This method returns a blank PageArray if roles haven’t yet been loaded into the template.
  • If the roles have previously been loaded as an array, then this method converts that array to a PageArray and returns it.
  • If you make changes to returned roles, make sure to set it back to the template again with setRoles(). It’s preferable to make changes with addRole() and removeRole() methods instead.


// basic usage
$items = $template->getRoles();

// usage with all arguments
$items = $template->getRoles(string $type = 'view');


type (optional)string

Default is 'view', but you may also specify 'edit', 'create' or 'add' to retrieve those.

Return value


of Role objects.


Method can throw exceptions on error:

  • WireException - if given an unknown roles type

Template methods and properties

API reference based on ProcessWire core version 3.0.148

Twitter updates

  • New post in the blog about all the fun we had driving around a DDOS attack on our forums, how we got it back under control, and what we learned along the way. Plus PW 3.0.150 dev details and links! More
    7 February 2020
  • New post: ProcessWire core updates (January 31, 2020)— More
    31 January 2020
  • Weekly update for Jan 10, 2020—front-end file uploads in LoginRegisterPro with InputfieldFrontendFile module: More
    10 January 2020

Latest news

  • ProcessWire Weekly #301
    In the 301st issue of ProcessWire Weekly we're going to check out the latest core updates, introduce brand new third party modules RockDaterange and Modules Manager 2, and highlight a brilliant new site of the week. Read on!
    Weekly.pw / 15 February 2020
  • Driving around a DDOS attack
    Last Saturday we started getting hit with heavy traffic at the processwire.com support forums, and it soon became a full blown DDOS frenzy. This post describes all the fun, how we got it back under control, and what we learned along the way.
    Blog / 7 February 2020
  • Subscribe to weekly ProcessWire news

“To Drupal, or to ProcessWire? The million dollar choice. We decided to make an early switch to PW. And in retrospect, ProcessWire was probably the best decision we made. Thanks are due to ProcessWire and the amazing system and set of modules that are in place.” —Unni Krishnan, Founder of PigtailPundits