Skip to content

Profiles, tabs and photos

The profile is the screen your members see most after the feed. It renders your Ultimate Member profile form, its tabs, and the photos attached to the account.

  • A cover photo and an avatar, both uploadable in the app.
  • Profile fields from your Ultimate Member profile form, in the order the form defines.
  • Tabs, including any contributed by extensions.
  • Badges for user tags and verification, where those plugins are active.

Tabs come from your site rather than from the builder, so a tab you added in Ultimate Member appears in the app without being configured twice.

Ordering follows your site. If you use Ultimate Member - Profile Tabs and reorder tabs there, the app follows.

Counts appear on titles. Follower and following tabs show live counts beside the tab name.

Tabs paginate. Long tab content loads more as the member scrolls, rather than truncating.

A Remote link tab configured in Profile Tabs opens the target natively where it points at a WordPress post or page, rather than opening a browser.

Ultimate Member - JobBoardWP adds two profile tabs, and both render natively:

  • Jobs lists the jobs a member has posted, with the same cards as Jobs. Tapping one opens the Job screen.
  • Job dashboard lists your own jobs in every status, with the controls from My Jobs. It appears only on your own profile.

They need Ultimate Member - JobBoardWP active, the tabs switched on in Ultimate Member’s profile menu settings, and the Jobs endpoint group. A role with Disable jobs tab or Disable job dashboard tab ticked on its role settings does not get that tab, in the app as on the website.

These tabs render natively too, from Memberside 2.40.0:

  • Private Content (Ultimate Member - Private Content) shows the member’s own private content and their roles’ content, in your site’s order. Only the member and administrators see the tab, and it is left out when there is nothing in it. It needs the Private Content endpoint group.
  • Messages (Ultimate Member - Private Messages) opens your conversations on your own profile, and offers a Message button on someone else’s. It needs a chat feature placed in the app.
  • Forums (Ultimate Member - ForumWP) lists the member’s topics and replies. Tapping one opens the Forum Topic screen.
  • Forums (Ultimate Member - bbPress) lists the member’s topics and replies. Tapping one opens the Topic screen; a reply opens the topic it belongs to. It needs the bbPress endpoint group.
  • Purchases and Product Reviews (Ultimate Member - WooCommerce) list the products the member bought and the reviews they wrote, with stars. Tapping one opens the product.
  • Reviews (Site Reviews) lists the reviews the member has received, with the rating breakdown above them, and lets a signed-in member write one from the app. It follows the Visibility setting in Site Reviews’ Ultimate Member settings — including Only Guests, which hides the tab from signed-in viewers — and nobody can review themselves. It needs the Site Reviews endpoint group. This is a different tab from Ultimate Member - User Reviews’ Reviews tab; a site can list both.

Each follows the tab’s visibility on your site, including role settings that switch the Forums, Purchases or Product Reviews tab off.

The ForumWP, WooCommerce and JobBoardWP tabs used to need a forum, shop or job feature placed in the app, and showed the “opens in your app” card without one. They no longer do — a profile screen draws them on its own. Placing Profile turns on the read-only Profile Forums, Profile Shop and Profile Jobs groups that back them, which hold no routes that write. If you are updating an existing app, save it again in the builder to pick those groups up.

Tabs you make yourself with Ultimate Member - Profile Tabs render natively too:

  • A tab with a form attached — or one whose content is an [ultimatemember] shortcode — renders as that form. The form needs Show this form to REST API ticked on its edit screen; without it the tab opens in the in-app browser instead, rather than showing a form the app cannot submit.
  • A Remote link tab pointing at a post, page or any public custom post type on your own site opens it natively, through the Single Post or Single Page screen.
  • A tab whose content is plain text and images renders as itself.

A Remote link tab pointing at another website opens in the in-app browser, and always will: there is no content on your site for a native screen to render.

Members can upload, reposition and delete both.

Repositioning keeps the original. The uncropped upload is retained, so a member who repositions a cover twice is working from the original each time rather than from a previously cropped copy.

Uploading needs the Uploaders endpoint group.

Uploading and repositioning an avatar and cover photo

The Edit Profile action renders your profile form’s fields as native controls. Supported field types include text, textarea, select, radio, checkbox, multiselect, date, and user location.

User location fields open a map the member can pan, with a draggable pin, and keep a thumbnail of the place they chose. They can also search by address, or tap Use my location. The profile itself shows the chosen place as a small read-only map under the field.

That map is served by your site, so it needs a Google Maps API key under Memberside → API Keys — the server one, not the per-platform SDK keys the Members Map screen uses. See Connection and API keys. Without a key the field degrades to a plain address box, and Use my location still works.

A key restricted by HTTP referrer — the usual way to protect it — is refused by Google when your site searches for an address itself. With Memberside 2.38.0 or later the field then searches, and draws its small map, inside your site’s own map page, where Google accepts that key. What the member typed opens that page with the search already filled in, and the place they pick is saved the same way. See Connection and API keys.

Location (BuddyPress) is a field type this plugin adds to BuddyPress, which ships none of its own. Add it under Users → Profile Fields. The address is stored as an ordinary xProfile value, so your theme, xProfile search and anything else reading BuddyPress profiles keep working as they did. It is read-only in the app for now — members set it on your website — and it feeds the Members Map the same way Ultimate Member’s does.

Conditional fields work as they do on the web: a field configured to show or hide based on another field’s value does the same in the app, on both the profile and registration forms.

The app respects the same privacy rules as your site. A field restricted to the profile owner is not returned for other members, rather than being returned and hidden — the data does not leave your site.

Where user tag fields are configured, they render as badges on the profile. Tapping one opens the member directory filtered to that tag, so tags become a way to browse rather than decoration.

This needs a Directory feature placed, since that is where the tap goes.

SymptomCauseFix
The profile is emptyThe profile form has not opted into the APIForms and directories
Fields are missingThey are restricted by privacy, or the form has several versionsCheck the form’s field visibility
Editing saves nothingThe form the app writes to differs from the one it readsMark exactly one profile form visible to the API
Avatar upload failsThe Uploaders group is offEnable it
A location field shows no mapNo Google Maps API key is setSet the Google Maps API key under Memberside → API Keys
The location map opens on an errorThe Maps group is offEnable it
Address search finds nothing, and the map thumbnail is blankThe key is restricted by HTTP referrer and your site runs Memberside older than 2.38.0Update Memberside
The field says address search is not availableGoogle refused the key in your site’s map page tooCheck the key allows your site’s address as a referrer and has Maps JavaScript API and Places enabled
A tag badge goes nowhereNo Directory feature is placedPlace one
Tabs are in the wrong orderOrdering comes from Profile Tabs on your siteReorder there
No Jobs tabUltimate Member - JobBoardWP is inactive, the tab is off, or the member’s role disables itCheck the plugin, the profile menu settings, then the role
No Job dashboard tab on someone else’s profileIt exists only on your own profileWorking as intended
The Jobs tab is empty and the member has jobsThe Jobs endpoint group is offTurn it on in Memberside → REST API
Purchases, Product Reviews or Forums still says “opens in your app”The app has no shop or forum feature placedPlace Products, or a forum feature
Purchases or Product Reviews is empty on a site that enabled Products before 2.40.0The two new Products endpoints arrive switched offSave the app in the builder, or enable them in Memberside → REST API
No Private Content tab on someone else’s profileIt is visible only to the member and administratorsWorking as intended