An important feature for many membership sites is the ability to display a dynamic directory of members and profile pages. Here is some information on how to add and customize these features using the Member Directory and Profile Pages Add On for Paid Memberships Pro.

Before you get started, consider this.

While a directory may be a desirable feature of membership, it is important to make it clear to your members what information will be made public or displayed privately. You can communicate what information will be shown, and what other members are allowed to do with that information via a Terms of Service agreement or elsewhere on your site.

Some points to include in this message would be:

  1. Can members directly contact another member via email?
  2. Can members copy the list of all members and send them mass email?
  3. Can a member opt to exclude themselves from the directory or just hide specific information?
  4. What are the consequences for abusing your policy?

Creating the Directory and Profiles

The Add On page covers primary documentation for the Member Directory and Profile Pages plugin. This includes the basic steps of generating the pages under Memberships > Page Settings and customizing the shortcode to display your unique fields.

Below are a few recipes, tips and tricks to make your directory even more robust.

  1. Capturing Additional Member Fields

    Our Register Helper Add On allows you to add new profile fields at membership checkout. This is a key plugin used by most membership sites that have unique fields based on the topic of their membership site. Some examples may include a file upload, such as a restaurant menu or resume, or business categories, such as “Small Business” or “Non-Profit”.

  2. Hide or Show Fields on Member Profiles based on Membership Level

    For many membership sites, a feature of higher-tier membership is the additional of more profile fields on the member directory, perhaps three videos or audio embeds, additional logos or photographs of a business location, or expanded contact information (website, phone, email). This can be achieved via the code recipe outlined in the link above.

  3. Allow Members to Upload an Avatar or “Logo”

    If you are planning to include images in your directory, this post outlines some recommended plugins for user avatar management on your WordPress site.

  4. Capturing Default WordPress Profiles Fields for your Directory

    The WordPress User profile already includes some key fields you may want to leverage for your membership site, such as “Site URL”, and “Description” (or biographical info). This post covers how to capture those fields for display on user profiles.

  5. Frontend Profile Field Management

    While we may eventually roll this into the Add On, we recommend using the “Themes Profiles” module of the Theme My Login plugin to allow members to edit their profile fields in the frontend theme of your WordPress membership site. View the plugin in the repository »

Who can see the member directory and profiles?

There are a few methods to control the directory and profile visibility. It may take a little creative thinking to wrap your brain around the examples below, so please open a topic on the members forum and we will be happy to help you achieve your goals.

  1. Using the Page’s “Require Membership” Settings

    Set Membership Restrictions for a Page If your directory is visible to members only, you can control the content access to the page you place the directory shortcode on just like you do any other piece of member content. Simply edit the directory or profile page and check the appropriate level(s) in the “Require Membership” meta box.

  2. Using the Shortcode

    You can duplicate the directory or profile page shortcode and wrap it within the shortcode to show a unique member directory by level, this can take many shapes, such as Level 1 Members only being able to see other Level 1 Members, or Level 2 Members not being able to see full member email addresses, while Level 1 members cannot view this information.

    Here is an example of this method:

    [membership level="1"]
    [pmpro_member_directory levels="1"]
    [membership level="2"]
    [pmpro_member_directory levels="2"]

Want a better search, category filters or sorting?

We’re always working to example the features of this and all of our Add Ons. So if the unique directory options you need aren’t covered by the tips above, please post a comment below or open a topic on the member’s forum.

We would love to use this plugin, however when we wont to search a member through the zip code we cannot just search by the first two digits, we have to add the whole zip code which isn’t very useful.

Im looking to create a filterable directory. For example, we have service region as one of the profile sections, and right now this is searchable in the directory. We would like to create separate directory pages (or toggles) that just show members from certain regions.

Having trouble displaying Register Helper Fields on Profile page. I seem to get only 1 field to show when all fields have the “profile” => true within the Associative array.

I double checked each field but can not seem to multiple values to show with the profile page

A few months down the track and wondering if this has a work around yet.

If not thats ok as I have used a combination of “Login Logout Menu ” and “LoginPress – Customizing the WordPress Login” and also the “Paid Memberships Pro – Member Homepages Add On” which is a long way around but might help others for now.

So 3 plugins to do what TML used to do

We’d like to support some of these features but Theme My Login is a huge plugin itself and the features all required for login, password reset, profile edit are complex. For now this is your best workaround.

Hi guys,

Theme My Login has removed the “themed profiles” from their plugin and now only offers this as a commercial extension. Is this still the recommended way to allow a user to edit their profile from the front-end?



Hi @parishpump,

We noticed this coming change a little while ago too and are working on short term and long term solutions for our users. We’ve heavily encouraged users to use TML and it’s an issue that users need to pay to get the same functionality from the new TML that they used to get for free.

In the short term, here are a couple options:

1. Remain in version 6.4 of TML. You can edit the plugin header to change the version to 9999 or something like that so it doesn’t prompt you for an update any more. The last version of TML is likely to work for a while until a WP update changes something about the login system that breaks it.

2. Pay them $50 (use the discount code SAVEFACE for a 20% discount) for the bundle or $10 for the themed profiles module. I am not sure yet if simply upgrading to the version 7 and paying will keep things working as they were on the old version if you’ll have to set things up again… specifically those custom templates may be an issue. You should be able to ask the TML team about that.

Long term we are looking into providing some of the functionality that TML did in a PMPro addon (or maybe in our core plugin). The themed profiles stuff in particular is pretty complicated to write and maintain, but is a focus of ours. It is going to take some time.

Stay tuned to our blog. We might post an update there as we gather more information on this and potential alternatives to TML… but we haven’t seen any that we like as much yet.

I hope this helps.

Any progress on this as yet? I now realise that this is why I can no longer Edit Profile from the front end. Where can we download the previous version of TML – I’ve already updated… 🙁

Hi @wizard247,

Not as yet. You should be able to use a ‘Rollback’ plugin that you can find on the repository or manually download an older version of Theme My Login from the author’s plugin repository page (also on Found under the “Advanced View” > “Development Version”.

Hope this helps!

Where in the sweet wide world is the Company name for the directory supposed to pull from??? I have the shortcode [pmpro_member_directory layout="3col" show_level="false" show_startdate="false" avatar_size="128" fields="Company,company;Website,user_url"] but it is not displaying a Company Name anywhere (and why should it? there’s nowhere for a member to enter it!)

OK, I’ve added the Register Helper and I don’t see a way to add a member’s company name anywhere. Does it only work if they come through checkout? This is a problem since my client’s members will be added manually.

We are using Member Directory and Profile Pages Add-on and wondering how to show custom fields which are added using PMPro Customizations (Register Helper plugin).

We have tried adding custom fields input name in fields attribute of short code but with no luck.

Any help would be really appreciated.


Chintan Desai

The membership directory options are only partially working for me. I’ve turned off the “start date” successfully but can’t turn on the phone number.
[pmpro_member_directory show_startdate="false" show_phone="true" layout="4col"]

Even though I have “show_phone” as “true”, it never displays the number from the extra field nor the profile telephone number field.

Secondly, the “View Profile” link wont link to a members profile page… it just bounces back to the directory page. I added the profile shortcode to a profile page, but it isn’t working. 🙁

Any help? Thanks Richard.

I’ll have to test the phone number field, but know that it won’t show up if there is no phone number value there. Perhaps we are looking for a specific meta field here.

RE not linking to the profile page, make sure that you set the profile page on the page settings tab of the PMPro settings.

We can help you further in the member forums.

The plugin doesn’t work perfectly for me: it displays only the members’ firstname (and not their lastname) and the search function doesn’t work.
Moreover, I would like to display other informations gathered at the registration step. How can I do that?
Thank you.

Not sure why it’s only showing first name. I believe it’s setup to use the “display name”. You can possibly use this plugin to make sure the display name is set to First Last.

And you can use our Register Helper plugin to add custom fields.

We’re having a webinar on it tomorrow at 2pm EDT:

if I wanted to create a custom layout of the directory without hacking at the code of the plugin, where / who would i do that?

Within my child theme I tried adding my own file /childthemename/templates/directory.php

then I tried /childthemename/pmpro-member-directory/templates/directory.php

and neither seems to take hold. The only success I have is by hacking the source code of the original Directory plugin. Any thoughts? Id like to avoid hacking the plugin itself if I can avoid it.

Leave a Reply

For faster support related to issues on your specific site please open a ticket in our members support area.

Your email address will not be published. Required fields are marked *