The $user API variable

The $user API variable is your connection to the current user viewing the page.

Unless a user is logged in, $user is always referring to the guest user account. If the user is logged in, then $user can be the superuser or any other user that you may have added to the system.

Technically $user is just a Page object (like $page), except that it contains fields and methods specific to a user. See the full $user API reference for full details on the available methods and properties. Note that $user is represented by the template named user, which can be viewed in Setup > Templates, after adjusting the filters to show system templates.

Examples

Depending on the context, you may have to call $user->of(false); to turn off output formatting before assigning values to a user.

Changing the user's password

<?php
$user->pass = "Bam!";
$user->save(); 

Adding a new user with the "superuser" role

<?php
$u = $users->add('gonzo');
$u->pass = "BamBam!";
$u->addRole("superuser");
$u->save();

Twitter updates

  • ProcessWire 3.0.185 (dev) core updates, plus new Session Allow module— More
    17 September 2021
  • Three new ProcessWire Textformatter modules: Find/Replace, Markdown in Markup, and Emoji— More
    3 September 2021
  • This week we have a new master version released after a year in the making. With nearly 40 pull requests, hundreds of new additions and more than 100 issue reports resolved, this new version has a ton of great new stuff— More
    27 August 2021

Latest news

  • ProcessWire Weekly #387
    In the 387th issue of ProcessWire Weekly we're going to check out a couple of third party modules — one new and one with major updates — as well as the latest core updates. Read on!
    Weekly.pw / 9 October 2021
  • ProcessWire 3.0.184 new master/main version
    This week we have a new master/main version released after a full year in the making. As you might imagine, this new version has a ton of great new stuff and we’ll try to cover much of it here.
    Blog / 27 August 2021
  • Subscribe to weekly ProcessWire news

I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer