$users API variable / Users class

Manages all users (User objects) in ProcessWire.

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

Show $var?             Show args?        

Common

NameReturnSummary 
$users->add($name)
UserAdd new User with the given name and return it.
$users->delete($user)
boolDelete the given User.
$users->find($selector)
PageArrayReturn the User(s) matching the the given selector query.
$users->get(string $selectorString)
User NullPage nullGet the user by name, ID or selector string 
$users->getCurrentUser()
UserReturns the current user object 
$users->getGuestUser()
UserGet the 'guest' user account 
$users->save(Page $page)
boolSave a User
$users->setAdminThemeByRole($adminTheme, Role $role)
intSet admin theme for all users having role 
$users->setCurrentUser(User $user)
(nothing)Set the current system user (the $user API variable) 

For hooks

These methods are only useful for hooking and should not be called directly.

NameReturnSummary 
$users->added($user)
(nothing)Hook called just after a User is added
$users->deleteReady($user)
(nothing)Hook called before a User is deleted
$users->deleted($user)
(nothing)Hook called after a User is deleted
$users->saveReady(Page $page)
arrayHook called just before a user is saved
$users->saved($user, array $changes)
(nothing)Hook called after a User has been saved

Additional methods and properties

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

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #518
    The 518th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!
    Weekly.pw / 13 April 2024
  • ProFields Table Field with Actions support
    This week we have some updates for the ProFields table field (FieldtypeTable). These updates are primarily focused on adding new tools for the editor to facilitate input and management of content in a table field.
    Blog / 12 April 2024
  • Subscribe to weekly ProcessWire news

“The end client and designer love the ease at which they can update the website. Training beyond how to log in wasn’t even necessary since ProcessWire’s default interface is straightforward.” —Jonathan Lahijani