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.
What a profile shows
Section titled “What a profile shows”- 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.
Profile tabs
Section titled “Profile tabs”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.
Jobs and Job dashboard tabs
Section titled “Jobs and Job dashboard tabs”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.
Other extension tabs
Section titled “Other extension tabs”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.
Custom profile tabs
Section titled “Custom profile tabs”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.
Avatars and cover photos
Section titled “Avatars and cover photos”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.
Editing a profile
Section titled “Editing a profile”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.
Field visibility
Section titled “Field visibility”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.
User tags
Section titled “User tags”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.
When it does not work
Section titled “When it does not work”| Symptom | Cause | Fix |
|---|---|---|
| The profile is empty | The profile form has not opted into the API | Forms and directories |
| Fields are missing | They are restricted by privacy, or the form has several versions | Check the form’s field visibility |
| Editing saves nothing | The form the app writes to differs from the one it reads | Mark exactly one profile form visible to the API |
| Avatar upload fails | The Uploaders group is off | Enable it |
| A location field shows no map | No Google Maps API key is set | Set the Google Maps API key under Memberside → API Keys |
| The location map opens on an error | The Maps group is off | Enable it |
| Address search finds nothing, and the map thumbnail is blank | The key is restricted by HTTP referrer and your site runs Memberside older than 2.38.0 | Update Memberside |
| The field says address search is not available | Google refused the key in your site’s map page too | Check the key allows your site’s address as a referrer and has Maps JavaScript API and Places enabled |
| A tag badge goes nowhere | No Directory feature is placed | Place one |
| Tabs are in the wrong order | Ordering comes from Profile Tabs on your site | Reorder there |
| No Jobs tab | Ultimate Member - JobBoardWP is inactive, the tab is off, or the member’s role disables it | Check the plugin, the profile menu settings, then the role |
| No Job dashboard tab on someone else’s profile | It exists only on your own profile | Working as intended |
| The Jobs tab is empty and the member has jobs | The Jobs endpoint group is off | Turn 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 placed | Place Products, or a forum feature |
| Purchases or Product Reviews is empty on a site that enabled Products before 2.40.0 | The two new Products endpoints arrive switched off | Save the app in the builder, or enable them in Memberside → REST API |
| No Private Content tab on someone else’s profile | It is visible only to the member and administrators | Working as intended |