Create a Robust Directory and Individual Profiles for Your WordPress Membership Site

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 role 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 [membership] Shortcode

    You can duplicate the directory or profile page shortcode and wrap it within the [membership] 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.

Improved Documentation on Shortcodes and Hooks/Filters

Proper documentation is critical to making sure Paid Memberships Pro users can take full advantage of all plugin features. That’s why we’re devoting time to improving the core plugin and add on documentation throughout this site.

Shortcodes Documentation

Until now, we didn’t have a central spot that described how to use the plugin’s included and “code recipe” shortcodes. We just added a page with three sections for the different “types” of shortcodes in Paid Memberships Pro.

  • Page Shortcodes that generate the forms and display elements for pages assigned under Memberships > Page Settings in the admin.
  • General Shortcodes that can be used anywhere on your site for various features.
  • Shortcode Recipes that offer PMPro Core and Plus members access to specialty shortcodes not currently part of the core plugin.

View Shortcode Docs

There are also shortcodes available in specific add ons, such as the Member Directory and Profile Pages Add On, that may eventually get some overlapping documentation in this section.

Hooks and Filters Documentation

Inspired by the formatting of the Developer Resource site, we’ve improved the display, deep linking to GitHub, and example recipes for our library of hooks and filters.

You’ll see the documentation here build out over the next couple weeks. The first phase was updating all existing hooks and filters in the library, then we added 25 new hooks and 78 new filters that were missing documentation. These hooks and filters had been added to the core plugin but not yet documented.

We also are setting up a system that links the hook or filter to code recipes we’ve published that leverage that hook or filter. This should help designers and developers in the future who have identified a hook they need to use, but want to see some examples of how you can use that hook to achieve a desired outcome.

View Hooks and Filters Docs

Documentation is an ongoing effort.

In doing all of this, we have uncovered more places where documentation would be useful, including a section to show all the PHP functions included in PMPro (like the pmpro_hasMembershipLevel function) that you can make use of in your custom projects or plugins and themes that offer integration. It’s in the works 🙂

Value Prop Accelerator Built With WordPress and Paid Memberships Pro

Update: I originally included links to sign up for Accelerator. At this time, the open registration for Accelerator has been disabled. Only people receiving Value Prop training will gain access to the tools. Below is still a good read for anyone interested in how we built the site using WordPress and Paid Memberships Pro.

I’m excited to be able to share with you an incredible WordPress project we’ve been working on for over a year. The site is the Value Prop Accelerator, a “marketing planning platform that shows you how to design, document and execute a winning marketing strategy”.

If you are in a business where you are responsible for any kind of marketing or product development at all, you should sign up for the free trial now and take a look around. Using the Accelerator is like having a marketing consultant in a box. The site is the brain child of Jose Palomino and combines pages and pages of insightful marketing knowledge with tools custom-built to help you develop a marketing plan.

I’ve been using the Accelerator to develop a marketing plan for Paid Memberships Pro, and the process has been invaluable. Using the Accelerator helped me make the decision to release PMPro as 100% GPL, has informed what order I build out features, and has helped me analyze my customers and competition to market our products more effectively. I’m not a millionaire yet, but I’m much more confident in what we’re doing with Paid Memberships Pro. I’d love to have readers here try it out and let me know what you think. I know Jose would appreciate it.

The Value Prop Accelerator is built entirely on WordPress, using Paid Memberships Pro for membership handling, and tons of custom code to enable the project tools. The remainder of this post will go into a little bit of detail for some of the cooler features and how we bent WordPress to our will to create what I think is one of the most complicated WordPress applications around.

Free Trial without Requiring a Credit Card

Paid Memberships Pro allows you to set a trial period and price for your membership. However, if the membership isn’t completely free, users have to enter their credit card at checkout. With Accelerator, we have a Trial membership level that is completely free and expires after 30 days. We’ve added code to tweak the account pages and notification emails to route users to sign up for a second “Monthly” membership which is paid. The Trial membership level can only be signed up for once for each user.

Sponsored Team Members

When you sign up for Accelerator, you get 2 “seats”. One for you, and one to invite a team member to your project. The invited user has limited permissions and can only interact with your projects unless they upgrade their own account. Users can upgrade their membership to purchase more seats for a larger team.


While reading through the Accelerator material, you will see various “worksheet builder” sections asking for input on the current topic. For example, one of the early ones asks you to write out a “mission statement”. At the end of a “module” (kind of like a chapter), you can view an editable worksheet with all of your compiled answers. This means you’re not just reading the material, but actively working on your plan as your go through.

On the admin side, the worksheet fields are controlled by some clever shortcodes that allow Jose and his team to place these fields anywhere they want. All of the responses are stored in project meta (more below) and can be output in various ways.

We’re working on an export to Word Doc plugin that we’ll be able to release as some open source code.


The “discussions” in Accelerator resemble a typical web “forum”. These are really highly designed comments on each WP page in the system. The comments are tied to the project system (more below) so that you only see discussions for your current project and can’t see discussions from any one else project. (FWIW, the new bbPress plugin wasn’t ready when we started working on this or we might have built out the discussions using bbPress forums.)

Action Items

The Accelerator comes with a fully functional todo list with assignments and due dates.

Check Lists

Separate from the action items are a checklist for each module that helps you keep track of where you are in the content. The checklists are built on the fly by Jose and his team using shortcodes we developed. When the module page with the checklist table on it is updated by an admin, a custom table is updated to keep track of each projects status for each item. An intelligent sidebar widget determines if the current page you are on is on a checklist and builds a smaller checklist on the fly for you. As items are checked of the checklists a status indicator is updated using cool red-to-green dots showing progress overall and on a per module basis.

Shared Files

Team members can upload files or links through the front end, which are combined into a shared file repository for each project.


We added a whole project layer on top of WordPress. Users can create multiple projects and invite team members to their projects. All discussions, action items, check lists, worksheets, and shared files are tagged to a certain project so all interactions you do within the site are within the scope of your current project.

The coding for all of this was pretty complicated. One little hack that helped is that we simply added a table called “projectmeta” with the same structure as the “usermeta” and “postmeta” tables. Then all we had to do was copy a few of the postmeta functions and replace “post” with “project” and bam! We can piggy back off of all of the great WP code for usermeta to manage our projectmeta. (I should write up a separate how to for this.)

Smart Help

As you explore the site for the first time, various help boxes will popup explaining things. The content of these help boxes is controlled via WordPress pages. The content team just builds out the help pages as they normally would and we tag certain tools and pages with the help page IDs to tell the system which help blurb to show. We use user meta to keep track of which blurbs have been shown already so we don’t pop them up again in the future.

Ask an MVP

This is a cool feature of the site that we’ve considered launching as a stand alone product. Basically if you need help on a certain question in your marketing plan, you can send out an email invite to ask your colleagues (your MVPs) a question. The invitees are directed to a page where they can respond to your question. All of the responses are aggregated as comments on a post of type “askmvp” using custom post types. Invitees can then sign up for a special membership level that will let them view all of the other responses and participate further in the discussion. For users, it’s a great way to get feedback from people outside of their project. For Value Prop, it’s a great viral component that will hopefully expose the product to new people.

Tons of Other Plugins

We built plugins to allow for an easy to mange sidebar, to power the assessments, a “suggest a resource” form to place on various pages, to pull content from Google News, and tons of other little bits of functionality throughout the site.

Tons of Other Shortcodes

We added shortcodes to aid with embedding videos with custom pre and post roll. Shortcodes for adding links to generate new discussion items or action items when clicked. Tons of shortcodes to make managing the site content easier.

In Summary

There is so much WordPress goodness bundled up in this site. We’ve been working on it for almost two years, and I’m so stoked to be able to share what we did with the WordPress community. A lot of people don’t believe applications like this are feasible in WordPress. They definitely are. Of course it took hundreds of hours of programming, but we are able to build on top of the WordPress platform which gives us access to quality content and user management, great security, and everything we love about WordPress. We never once “hacked the core”, and have programmed things in a way that we’ve been able to upgrade WordPress and most of the plugins we use seamlessly without causing issue. (We still backup and test things for sure.)

There is enough material in this one site to power dozens of WordCamp presentations and how to blogs. If you are interested in learning more, let me know in the comments. And be sure to sign up for the free trial and spread the word about this incredibly useful new site for small businesses and everyone that could be doing a better job at marketing with their company.