Feature settings
Select a placed feature to open its settings. Everything here applies to that one screen; anything that applies to the whole app is in Global App Settings.
Appearance
Section titled “Appearance”How the screen presents itself.
Title and Description appear at the top of the screen. Every feature has them, and both are optional. Set the title — an untitled screen reads as unfinished, and the description is the natural place for the one line of context that stops members having to guess what a screen is for.
The rest of this tab varies by feature: screen background, form wrapper styling, button treatment. Two features have no Appearance tab at all — Verified Users and Online Users — because they render badges inside other screens rather than screens of their own.
Features
Section titled “Features”What the screen actually does. This is the tab that varies most, because it carries each feature’s own options.
Typical settings you will meet:
| Setting | Appears on |
|---|---|
| Which form to use | Profile, Login, Register, Forgot Password |
| Which member directory | Directory |
| Which sidebar to open | Sidebar Trigger |
| Where to go after sign-in, sign-out or registration | Login, Logout, Register, Default Login, Default Register |
| Post types, layout, sorting, search | Posts |
| Product view, columns, category, reviews | Products |
| Group sorting, search, columns | Groups, My Groups |
| Activity scope and whether to show the composer | Activity |
| Which account tabs show icons, or render as a dropdown | Settings |
| Which Profile a member’s photo opens | Activity, Activity Thread, Groups, My Groups, Messages, Notifications, Friends, Friend Requests (all BuddyPress), Forum Topic, Topic (bbPress) |
Each feature’s own page in the catalogue documents its settings in full.
Which Profile a member’s photo opens
Section titled “Which Profile a member’s photo opens”On the screens that list other people — an activity stream, a group’s roster, a conversation, a notification — a member’s photo and name open their profile. Which profile screen that is, is set per screen, because the same app can place more than one.
The choices are every Profile feature you have placed, plus Member Profile (BuddyPress), and Don’t link.
Leave it alone and it follows the first Profile you placed, so an app with one Profile never needs to touch it. Pick Don’t link and the name is drawn as plain text rather than as a tap that goes nowhere.
If you later remove the Profile a screen was pointing at, that screen falls back to the default rather than breaking — the tap keeps working.
Restrictions
Section titled “Restrictions”Who can open the screen, and what everyone else gets instead.
Audience limits the screen by login state: All Users, Logged-in Users or Public (not logged in).
Restrict roles limits it further to the WordPress roles you tick. Leave it off and every role can open the screen.
Restrict to membership levels limits it to members who hold one of the Paid Memberships Pro levels you tick. It appears only when your site runs Paid Memberships Pro, and it is how you put a screen behind a paid membership.
A member who fails any check is locked out of the screen. By default its button is not drawn for them at all.
The same rules apply to single blocks on a canvas screen. See Who sees a block.
Roles and levels together
Section titled “Roles and levels together”With both Restrict roles and Restrict to membership levels on, a Match control decides how they combine:
| Match | Who can open the screen |
|---|---|
| All (default) | Members with one of the roles and one of the levels |
| Any | Members with one of the roles or one of the levels |
Any suits a screen for paying members that your staff also need: tick Administrator under roles, the paid levels under levels, and choose Any. With only one of the two switched on, Match does not appear and has no effect.
Keep the button visible
Section titled “Keep the button visible”Turn on Keep the button visible to people who can’t open it and the button stays in the navigation for locked-out members, so they can see the screen exists.
Button look decides how it is drawn:
| Button look | What members see |
|---|---|
| Dimmed with a lock | The button at half strength, with a small lock beside the icon |
| Same as other buttons | Nothing different until they tap it |
When they tap it
Section titled “When they tap it”| Choice | What happens |
|---|---|
| Show a message | A screen with a lock and your message. Leave the message empty for “You do not have access to this.” |
| Send them to another feature | The feature you choose opens instead |
Signed out, the message screen also offers Sign in. A common setup is a Members screen limited to Logged-in Users, with its button kept: a visitor sees Members, taps it, and is one tap from signing in.
The message is still used when the redirect cannot run: the feature you chose has since been removed, or the member is locked out of it too.
What else to know
Section titled “What else to know”Your site enforces role restrictions too. A restriction stops the screen opening in the app, and the endpoints behind that screen refuse members outside the roles you named. Your app sends its restrictions to your site every time you save, and your site holds them.
Four limits are worth knowing before you rely on it.
Screens that share data are restricted together. Restrictions apply to a group of endpoints rather than to one screen, so features built on the same data move as a set — restricting Posts also restricts Page, because both read the same routes. Restricting one and leaving the other open leaves both open.
More than one app on a site. If two apps share a site and only one restricts a group, that group stays open for both. A group is restricted only when every app offering it restricts it.
Your site needs a plugin version that knows about this. On an older plugin the restriction still hides the button, and the endpoints answer as they did before.
Enforcement can be switched off. Sites connected before this feature shipped start with it off, so that apps already built keep behaving as they did. Turn it on under Memberside → REST API on your site. That screen is also where to turn it off if a restriction locks out someone it should not.
Anything that must be private is still worth making private on your WordPress site as well, enforced by the plugin that owns it. Two locks on a door is not wasted effort.
Signed-out members have no role. A screen restricted to any role is locked before sign-in. Keep its button visible if you want signed-out visitors to know it is there. The same goes for membership levels: a signed-out visitor holds none.
Membership levels are checked in the app only. Your site enforces role restrictions, as above, but not level restrictions yet: the endpoints behind a level-restricted screen still answer a member without the level. Content Paid Memberships Pro protects on your site stays protected — a restricted post opens in the app with your site’s own membership required message instead of its text — but a screen’s own data is not. Keep anything private behind Paid Memberships Pro’s own content restrictions as well.
Roles and levels refresh when they change. The app reads a member’s roles and levels again on every launch, and also:
- after an in-app purchase or a restore
- after a WooCommerce order placed in the app
- after they cancel a level in My Membership, or when a Paid Memberships Pro checkout or billing page opened from the app closes
- when they come back to the app from somewhere else, at most once a minute
No signing out and in. A change made on your site, such as an administrator changing a member’s role or level in WordPress, reaches an open app too:
- on the app’s next request to your site, which happens whenever the member opens or refreshes a screen. Your site marks every answer with a short fingerprint of the member’s roles and levels, so this adds no requests until something changes, and then exactly one.
- within seconds, if the site has Realtime connected and the app already keeps a live connection for chat, notifications or the feed.
- after ten minutes at most, if the app is open but idle. Only apps with a role or level restriction check, and never while the app is in the background.
If the member had tapped a locked screen, that screen opens as soon as they are allowed in. Changes reaching an open app need plugin 2.82.0 or later and an app built after it; before that, they reach the app the next time the member comes back to it.
This needs plugin 2.72.0 or later to be reliable. Older plugins could refuse the read when your default profile form is limited to certain roles, and the member kept the roles they had before.
App review needs the level too. A reviewer signs in with your demo account and cannot buy a membership to get past a lock. Give that account the level under Memberships → Members on your site before you submit.
Buttons on your own screens respect roles. A template button that opens a role-restricted screen runs that screen’s restriction, just as a nav tap does. Audience is not applied there, so a paywall’s Sign up button still opens a logged-in screen for a signed-out visitor, and that screen shows its own signed-out state.
A locked screen is never the landing screen. If your landing screen is locked for a member, the app opens the first screen they can open instead.
When it does not work
Section titled “When it does not work”| Symptom | Cause | Fix |
|---|---|---|
| A form picker is empty | No form has opted into the API | Forms and directories |
| A setting saves and reverts | The value failed validation server-side | Try a simpler value, and get in touch if it recurs |
| A tab is invisible to everyone | A restriction names a role nobody has | Clear the restriction and set it again |
| A member with the right role still sees the lock | The app has their roles from before the change on your site and has not talked to the site since, or the site runs a plugin older than 2.72.0 with a role-specific default profile form | Open any screen that loads data, or leave the app and come back. Update the plugin |
| A member with the right level still sees the lock | Match is All and they lack one of the roles, or the level was granted after the app last checked | Choose Any, or leave the app and come back |
| A level is listed as not on the site | The level was deleted in Paid Memberships Pro after you ticked it | Untick it |
| No membership-level option on the Restrictions tab | Paid Memberships Pro is not active, or the Paid Memberships Pro endpoint group is off | Activate the plugin, then enable the group |
| Tapping a kept button shows the message instead of the redirect | The chosen feature was removed, or the member is locked out of it too | Choose a feature they can open |
| No Appearance tab on a feature | Verified Users and Online Users have none by design | Nothing to fix |