Set up the staff directory

The staff directory is a browsable, searchable list of everyone with an account on the intranet, with a profile page for each person and a page for each team. This page takes you through setting it up from nothing: switching it on, creating the pages, adding teams, grades and locations, filling in profiles and making staff searchable.

Switch on the staff directory

Go to Options, then Modules. On the Modules tab switch on Staff directory and Teams, then select Update. Switching on the staff directory adds a Grades list (under Users, or under Vacancies if that module is on) and a Locations switch on the Modules tab. Switching on Teams adds a Teams menu to the admin menu.

Two more tabs appear on the Options, Modules screen: Staff directory and Teams. Every setting on them is described in Module settings and options. The ones you will want early on are:

  • Staff directory page and Teams page: the pages you create in the next step. The theme uses them for breadcrumbs and for highlighting the right menu item.
  • Directory name order: whether the directory opens sorted by first name or last name. The default is first name. Anyone can switch the order on the page.
  • Show grade on staff cards and Show mobile on staff cards: extra details on each person’s card. Both off by default.
  • Show My Profile link and Show login/logout link: add those links to the secondary menu for people who are logged in.
  • Allow password change on profile: adds a change-password section to the profile edit page. Leave it off if your organisation signs people in with single sign-on.

Create the directory page and the teams page

Go to Pages, then Add New. Give the page a title such as “Staff directory”, and in the Page Attributes box set Template to Staff directory. Anything you write in the editor appears above the directory, so this is a good place for a sentence about keeping profiles up to date. Publish it, then go to Options, Modules, Staff directory and choose it as the Staff directory page. The page can have any address; there is no longer a required slug.

If you use teams, add a second page with the Teams template and choose it as the Teams page on the Teams tab. It lists every team, with sub-teams folded under their parent.

Add both pages to your navigation under Appearance, Menus.

Add teams

Teams are a kind of content, not a category. Go to Teams, then Add New. Each team has a title, a description in the editor, an optional excerpt (shown in team lists) and a Team lead(s) box where you pick one or more people. To make a sub-team, set its Parent in the Page Attributes box; you can nest as deeply as you like.

Each team gets its own page at /team/team-name/. It shows the description, the team leads, a list of its sub-teams under the heading “Also in”, and its members. Members are the people who chose that team on their profile, together with everyone in its sub-teams; people who belong through a sub-team are marked. The directory page’s team menu lists top-level teams and their first level of sub-teams.

The [people team="5"] shortcode lists a team’s members on any page: see Display a list of users by team.

Add grades

Grades are optional. Go to Users, then Grades, and add each grade as a term, with a parent if your grading is hierarchical. If the Vacancies module is on, the same list is under Vacancies and Posts instead, because grades are shared with vacancies. People pick their grade on their profile, and it shows on their profile page and, if you switch on Show grade on staff cards, on their card in the directory and on team pages. See Grade.

Add locations

Locations are optional and need the Locations switch on the Options, Modules screen, which appears once the staff directory or intraverts are on. Go to Users, then Locations, and add your sites and buildings, using parents for a site and children for its buildings. People then get a Location field and a Floor or room box on their profile. Location names are added to the search index automatically, so a search for a site finds the people based there. Intraverts can also be aimed at a location.

Staff accounts

Every WordPress user on the intranet has a profile, whatever their role. Govintra has no sign-up form of its own: accounts are created by an administrator under Users, Add New, imported in bulk, or created automatically by your single sign-on plugin. If you do want people to register themselves, that is WordPress’s own setting, Settings, General, Anyone can register, and the theme can add a Register button under comment forms (see General intranet options). Forum accounts are the same WordPress accounts.

To take a person out of the directory without deleting their account, see Hide users. To delete many accounts at once, see the Remove users plugin.

Profiles and who can edit them

Each person’s profile is at /staff/username/ and their edit page is at /staff/username/edit/. People edit their own profile; administrators, or anyone else whose role includes the “edit users” capability, can edit anyone’s. There is an Edit button on the profile for those who may. The same fields also appear on the WordPress profile screen under Users.

The profile fields are:

  • Your details: first name, last name, nickname, display name, email and About me. First name and last name matter: a person with either one missing does not appear in the directory at all.
  • Profile photo: JPG, PNG or WebP, at least 150 pixels square. Square photos work best. Photos are stored in the media library and used everywhere the person appears, so no avatar plugin is needed. A default image for people without a photo is set on the Staff directory tab.
  • Work details: job title, team (one or more), line manager, grade, telephone, mobile, bleep, name pronunciation, pronouns, X handle, LinkedIn URL, working pattern and skills and experience. Working pattern and skills are small rich-text boxes.
  • Location and Floor or room, when Locations is on.
  • Change password, when the option is on: at least 12 characters with upper and lower case and a number or symbol.

Administrators see an extra Admin settings group: User tags (tags used by the usertags shortcode), Feature bio, Sort order (lower numbers first in team listings) and Hide from directory.

The profile page shows a Role section (teams, job title, grade), Contact, About me, Skills and experience, Working pattern and Location, with a sticky menu to jump between them, and a mini organisation tree in the sidebar showing the person’s line manager and direct reports. Direct reports are worked out from everyone who named this person as their line manager, so there is nothing to maintain beyond each profile’s Line manager field. Show extra details on mini org-tree on the Staff directory tab adds job titles and larger photos to the reports.

To nudge people into completing their profiles, put the Profile nudge widget on the homepage.

What the directory page shows

The directory has a Search staff box, a Browse by team menu (rename it with Team dropdown name), a Sort by last name or Sort by first name toggle and an A to Z bar. Only letters that have someone are active. Selecting a letter shows everyone whose first name (or last name, depending on the sort) starts with it, as cards showing photo, name, job title, teams and telephone, plus grade and mobile if those options are on. With Show hyperlinks on staff cards on, the email, phone and team on each card are separate links; off, the whole card opens the profile.

Directory listings are cached for an hour and refreshed as soon as a profile is saved, so a change to a name, team, job title, photo, grade or line manager shows straight away.

Make staff searchable

Searching for people from the search box needs Relevanssi Premium; the free version does not index users. Once it is installed:

  1. Go to Settings, Relevanssi Premium, Indexing.
  2. Switch on Index user profiles and Index subscribers (most staff are subscribers).
  3. In Extra user fields enter the profile fields you want searched, separated by commas: description, user_job_title, user_key_skills covers About me, job title and skills. Names are indexed anyway, and location names are added by the theme.
  4. Select Build the index.

The theme then does the rest: people appear in search results with a Staff filter, staff results are weighted so a colleague’s name comes near the top, staff names are never stemmed (see Search options), hidden users are left out, and if autocomplete is on, colleagues’ names are suggested as you type in the header search box. The Search staff box on the directory page is the same search with the Staff filter already applied.

If something is missing

The usual causes of a person not appearing are a missing first or last name, Hide from directory ticked, or a search index that has not been rebuilt. See Problems with the staff directory and profiles.