Answers to common UsersWP questions about profiles. Click a question to open the answer.
On the front end, UsersWP replaces the WordPress avatar with the profile picture the user uploaded in UsersWP. Users who have not uploaded one get the Default profile image from UsersWP > General > Profile. On a live site that image is passed to Gravatar as the fallback, so a user with a Gravatar account still sees their Gravatar. On a local site UsersWP shows the default image directly.
UsersWP leaves avatars alone in wp-admin, so the admin area follows your Settings > Discussion settings.
If every user shows the same picture, check the Default profile image setting and clear your cache. To stop UsersWP changing avatars at all, tick Disable Avatar Override? in UsersWP > General > Developer.
There is no limit on how many fields the More Info tab shows. A field is shown when all of these are true:
- In UsersWP > Form Builder > Account, the field’s “Show in what locations?” includes More info tab.
- Its Is Public setting is Yes, or Let User Decide and the user has not hidden it in their account under Privacy.
- The user has a value saved for that field. Empty fields are skipped.
- The More Info tab itself is added in UsersWP > Form Builder > Profile Tabs.
Users edit their fields on the account page. Fields set to Let User Decide also appear in the Privacy tab there, where each user can choose to show or hide them.
Yes. Logged in users have a Delete Account tab on the UsersWP account page. They confirm with their current password and the account is deleted. Administrators don’t get this tab, so an admin account can’t be removed this way.
If you don’t want users to delete their own accounts, go to UsersWP > General > Account and tick Disable Account Delete.
Developers can run their own code around a deletion with the uwp_before_delete_account and uwp_after_delete_account actions.
UsersWP has no single switch to turn profiles off. These are the options:
- Remove the profile page. Delete the page that holds
[<span></span>uwp_profile](or remove the shortcode) and clear the Profile page in UsersWP > Settings > General > Pages. - Turn on “Disable author redirect to UsersWP profile page” in UsersWP > Settings > General > Profile, so author links go to the normal WordPress author archive.
- Keep the page but show less. Remove tabs in UsersWP > Form Builder > Profile Tabs, or set a tab’s privacy to Logged in or Author only.
Test the account, login and users pages afterwards, as they link to profiles. To hide profiles from other users only, see How to hide user profile from other users.
- Go to UsersWP > Form Builder and open the Profile Tabs tab.
- Click Shortcode in the list of tabs you can add.
- Enter a Tab Name, paste the shortcode into Tab content and save.
Each tab has a Privacy setting to control who can see it, and you can let users decide for themselves.
The same shortcode runs on every profile. To show something different for each user, the shortcode needs to know whose profile is open. Many plugins have an option for the current author or user. If yours needs a user ID, see How to create a shortcode to output the user ID of any profile page.
Early versions of UsersWP added tabs in code with the uwp_profile_tabs filter. That filter no longer exists, so use the Profile Tabs builder instead.
Each field in UsersWP > Form Builder > Account has a Show in what locations? setting. You can pick several locations for one field without any conflict. The main ones are:
- Users Page: on the user’s card in the users list.
- More info tab: in the More Info tab of the profile. That tab has to be added in Form Builder > Profile Tabs.
- Profile side (non bootstrap): in the profile sidebar, but only with the legacy design. The design is the Default Design Style setting in UsersWP > General > Developer, and it is Bootstrap by default.
If a field still does not show, check that Is active is on and that the user has saved a value for it. Users can also hide fields from others with the privacy options in their account.
Check these in order:
- The tab has to be added in UsersWP > Form Builder > Profile Tabs. If you have more than one user type, tabs are set per registration form, so add it for each form that needs it.
- Tabs with nothing in them are hidden. A forum tab only appears for a user who has started topics or posted replies. Developers can change this with the
uwp_hide_empty_tabsfilter. - Each tab has a Privacy setting that can show it to everyone, to logged-in users only, or only to the profile owner and admins. Log out or use a private window to see what visitors get.
- With Let user decide turned on, each user can choose the tab’s privacy on the Privacy tab of their account page. Their choice overrides yours once they save it.
The forum tabs come from the UsersWP bbPress add-on, so bbPress and the add-on both need to be active. Setup is in the bbPress Custom User Profiles Setup Guide.
Use the WordPress function get_avatar_url( $user_id ). On the front end UsersWP filters it to return the UsersWP profile picture, or the default profile image if the user has not uploaded one.
It returns the normal Gravatar URL in wp-admin (outside AJAX requests), and on every page when Disable Avatar Override? is ticked in UsersWP > General > Developer.
To show the avatar on a page without code, use the [<span></span>uwp_user_avatar] shortcode or the UWP > User Avatar block.
Yes. By default UsersWP takes over the author archive: author links point to the user’s profile and /author/ URLs redirect there. To keep both, go to UsersWP > General > Profile, show the advanced settings and tick “Disable author redirect to UsersWP profile page.”
After that, author links around your site go to the normal WordPress author archive, while the users list and profile pages from UsersWP still link to profiles.
If you only want to stop the redirect and keep author links pointing at profiles, a developer can use this filter instead: add_filter( 'uwp_check_redirect_author_page', '__return_false' );
Often you don’t need the archive at all. Add a Posts tab in UsersWP > Form Builder > Profile Tabs and the profile lists the user’s posts.
UsersWP builds profile URLs from the page set as User Profile Page in UsersWP > General > Pages. Each profile is that page’s address plus the username, for example /profile/username/. When a logged-in user opens the page without a username, UsersWP sends them to their own profile, and logged-out visitors go to the login page.
If the rewrite rules behind these URLs are out of date, you get a 404 or a “redirected too many times” error. This often happens after you change the page slug or move the site. To fix it:
- Check that User Profile Page in UsersWP > General > Pages points to the right page, and that the page still has the UWP > Profile block or
[<span></span>uwp_profile]shortcode. - Save that settings screen. Saving UsersWP settings refreshes the rewrite rules.
- Go to Settings > Permalinks and click Save Changes.
- Clear any page or server cache and try again in a private browser window.
If the loop continues, an SEO or redirect plugin may be redirecting author or profile URLs. See Users profiles not showing when Yoast SEO installed.
Link to the page set as User Profile Page in UsersWP > General > Pages, with no username after it, for example yoursite.com/profile/. A logged-in user who opens it is sent to their own profile, and logged-out visitors go to the login page. If your profile page has a different slug, use that.
There are also links built in:
- The Profile item in the UsersWP Endpoints box in Appearance > Menus, shown only to logged-in users.
- On the account page, the @username under the avatar links to the user’s profile.
- The UWP > Login widget set to show the simple username and logout link links the name to the profile.
On their own profile, users can change their avatar and cover image from the profile header.
UsersWP menu items change with the visitor’s login state. In Appearance > Menus, open the UsersWP Endpoints box: the Logged-Out tab has Login, Register and Forgot password links, and the Logged-In tab has links like Account, Profile and Log out. Add both Login and Profile to your menu and each visitor only sees the one that applies to them. See Add menu items for the steps.
The menu labels are fixed text. To show the user’s display name on the Profile item instead, add this snippet with a code snippets plugin or your child theme’s functions.php:
add_filter( 'uwp_setup_nav_menu_item', function( $menu_item, $menu_classes ) { $profile_class = 'users-wp-' . uwp_get_page_slug( 'profile_page' ) . '-nav'; if ( is_user_logged_in() && is_array( $menu_classes ) && in_array( $profile_class, $menu_classes, true ) ) { $menu_item->title = esc_html( wp_get_current_user()->display_name ); } return $menu_item; }, 10, 2 );
Clicking the name then opens the user’s UsersWP profile.
There are a few ways to control who appears in the users list:
- To leave out particular accounts, such as an admin or your developer, pick them in UsersWP > General > Users > Users to exclude.
- To list only some roles, use the Roles option on the UWP > Users block or widget, or the shortcode with role slugs, for example
[<span></span>uwp_users roles="author,editor"]. - Users who have not confirmed their email address are left out automatically.
- Each user can remove themselves by ticking Hide profile from the users listing page on the Privacy tab of their account page.
There is no setting to list only users with a profile photo or a complete profile. A developer can add a rule like that with the uwp_excluded_users_from_list filter, which receives the array of user IDs to leave out.
To control what other people see on a profile, set Is Public on each field in UsersWP > Form Builder to Yes, No or Let User Decide.
[<span></span>uwp_profile] outputs the profile header ([<span></span>uwp_profile_header]) followed by the profile tabs ([<span></span>uwp_profile_tabs]). On the profile page it shows the profile being viewed. On any other page it shows the logged-in user, so logged-out visitors get no header.
If it is blank or only part of it shows, check these:
- Display header in profile in UsersWP > General > Profile must be on, or the header is not output.
- The tabs are the ones set up in UsersWP > Form Builder > Profile Tabs.
- Your theme or custom CSS may hide UsersWP parts. Look for rules such as
display: noneon.uwp-profile-header.
If you want users to update their pictures from somewhere other than the profile page, the account page shows their avatar with an option to change it and a link to their profile.
Profile tabs are set separately from the account fields. Go to UsersWP > Form Builder > Profile Tabs and add the tabs you want: More Info, Posts, Comments, the GeoDirectory tabs when it is active, or a Shortcode tab with your own content.
Fieldsets don’t become tabs on their own. To group custom fields, set them to More info tab in “Show in what locations?” and they appear in the More Info tab under their fieldset heading. To give one field its own tab, add a Shortcode tab and put [<span></span>uwp_user_meta key="your_field_key"] in it, using the field’s key from the Account form.
Sort options for the users list are set in UsersWP > Form Builder > User Sorting. The built in options are Newer, Older, Display Name, First Name, Last Name and Random.
- Go to UsersWP > Form Builder and open the User Sorting tab.
- Click First Name or Last Name to add it to the sort dropdown.
- Expand the option and choose Ascending or Descending.
- Tick “Default sort” if this should be the order people see first, then click Save.
Visitors can switch between the active options in the sort dropdown on the users page. You can also sort by your own account fields: expand the field in the Account tab of the Form Builder and tick “Include this field in sorting options”. See UWP > Users for the users list itself.
The GeoDirectory tabs need two settings:
- In UsersWP > Settings > Addons > GeoDirectory, choose the post types under CPT listings in profile (and under reviews and favorites if you want those tabs).
- In UsersWP > Form Builder > Profile Tabs, add the Listings tab (and Reviews, Favorites or Lists).
The tab lists the listings where the user is the post author. Visitors see published listings only, while the owner also sees their own pending and draft ones. Lists, from the List Manager add-on, are a separate tab. See Adding GeoDirectory listings to the profile of your users.
The Bio field is set to show on the Users page only by default. To show it on the profile:
- Open the Bio field in UsersWP > Form Builder > Account and add More info tab to “Show in what locations?”. It then shows in the More Info tab.
- Or give it its own tab. In UsersWP > Form Builder > Profile Tabs add a Shortcode tab with
[<span></span>uwp_user_meta key="bio"], or[<span></span>uwp_author_box]for the full author box.
Don’t put [<span></span>uwp_profile] inside a profile tab. It loads the whole profile, tabs included, so you end up with tabs inside tabs and the page can break.
Profile URLs such as /profile/username/ work through rewrite rules built from the page set as Profile page. When they return a 404, check:
- UsersWP > Settings > General > Pages has the Profile page set, and that page is published and contains
[<span></span>uwp_profile]. - Settings > Permalinks, then Save Changes, to rebuild the rules.
- No other page, post or category uses the same slug as the profile page.
- With a translation plugin such as WPML, the language URL settings. A language folder on the default language has caused this before.
If you use Yoast SEO, see Users profiles not showing when Yoast SEO installed.
Only the listing’s author sees the Edit and Delete links in their profile’s Listings tab. You see them as admin on your own listings, and each user sees them on theirs. No extra role or capability plugin is needed.
The links come from the Author Actions element in your GeoDirectory archive item template (the page set as Archive item page in GeoDirectory > Settings > General > Pages). To remove Delete, edit that element and tick Hide delete. In the shortcode version that is [<span></span>gd_author_actions author_page_only='1' hide_delete='1']. That hides Delete wherever the template is used.