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 WordPress.org 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]
     
    [membership level="2"]
    [pmpro_member_directory levels="2"]
    [/membership]

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.

Email Marketing Integrations for Paid Memberships Pro

Below is a list of the third-party email marketing integrations available for Paid Memberships Pro.


Third-Party Email Marketing Platforms


 
Sign Up for AWeber

AWeber Integration

Integrate User Registrations with AWeber. Adds members to lists based on their membership level.


 
Sign Up for Constant Contact

Constant Contact Integration

Integrate User Registrations with Constant Contact. Adds members to lists based on their membership level.


ConvertKit

ConvertKit Integration

Integrate your ConvertKit tags with Paid Memberships Pro membership levels. This Add On is provided and supported by ConvertKit.


 
Sign Up for GetResponse

GetResponse Integration

Add users to GetResponse campaigns, with or without Paid Memberships Pro.


 
Sign Up for MailChimp

MailChimp Integration

Integrate User Registrations with MailChimp. Adds members to lists based on their membership level and includes level ID and name as merge fields.


On-Site User Email Systems


Email Users Integration

Easily kick off an email to your WordPress site users directly in the WordPress admin. You can segment users by a few criteria, including their Paid Memberships Pro “Membership Level”. The Paid Memberships Pro integration is built in to the core plugin.

View the Plugin

MailPoet Integration

Adds a checkbox on checkout page for your customers to subscribe to your MailPoet newsletters. This Add On is provided and supported by MailPoet.

View the Plugin

Methods to Block Users from Logging In, Selecting or Changing Membership

If you come across any “problem” members in your business, these methods will allow you to limit or completely disable their access on your site. We’ll also cover how to lock a member’s level indefinitely or for a specific required term.

Methods covered in this post include: Disabling User Login | One-Time Use Memberships/Trials | NEW Lock Membership Level Add On


Disabling User Login

These methods are based on the locking the user’s existing membership as tied to their account email address. It won’t prevent a problem customer from creating a new account with a different email address.

Disable Users by Jared Atchison

This plugin allows you to mark a user’s account as “disabled”. To disable a user, navigate to their profile under Users > Edit Profile. There you will see a setting labeled “Disable User Account”.

When the member attempts to login, they will see a notice that reads “Account Disabled”. Simple!

disable-users-login-message

User Blocker by Solwin Infotech

Similar to Disable Users, this plugin allows you to block users with a variety of settings, including time frame. You can view a list of all blocked users, as well as write custom messages to your blocked users. If you need more advanced (complicated) options, this plugin may be the correct fit. I found the interface a bit difficult to navigate and prefer how Disable Users allows the setting directly in the “Edit Profile” page.

To block a user, navigate to the User Block admin area. Select the type of block you would like (by time, date or permanent), then locate the user account(s) you wish to block.

When the member attempts to login, they will see the default notice or your custom message as entered in the dashboard.

user-blocker-login-message

One-Time Use Memberships/Trials

We covered how to limit a membership level to “one-time use” only in a previous post. Note that this won’t prevent the same customer from creating a “new account” with a different email address.

When a member attempts to check out for the same “one-time” use level, they will see your custom message or the default message:

pmpro-one-time-trial-message

View the Tutorial

NEW: Lock Membership Level Add On

There are a few cases where you may want to restrict a member from changing their level. One method we help members with via the forums is to not allow a “paying” member to check out for a free level.

Our new Lock Membership Level Add On has the capability to lock a user’s membership level or lock all members of a level for a specified term (for required installments).

Members who have a locked level will be redirected to a new page that displays a custom notice or the default message “An administrator has locked changes to your membership account”.

View the Lock Membership Level Add On

Membership Logic to Enable or Disable Popups for Popular WordPress Popup Plugins

Using popups to generate more membership signups or show exclusive offers to members only can be a great addition to your membership site. But, how do you filter popups to target the RIGHT audience?


Enter the filters…

The code recipes below demonstrate how to filter popups based on the user or site visitor’s membership level. We like using this method in combination with the new Signup Shortcode Add On for a streamlined “Unlock this post now” experience.

This post covers the filter methods for Popup Maker, Popups – WordPress Popup, Popup Builder, and Optin Monster.

If you are using a different popup plugin, post a topic on our support forum (members-only) and we will help you with the filter for your setup.

Popup Maker — WordPress Repo | Plugin Homepage

When I began this post, I was looking in the WordPress plugin repository for a basic, open source popup plugin with simple styling options: enter Popup Maker.

This code recipe will filter the display of a popup using Popup Maker’s pum_popup_is_loadable filter. The recipe hides the popup if there is a logged in user with membership level ID 1. You can modify the recipe for your level IDs, or change the conditional to require level ID 1 or an array of level IDs.

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


Popups – WordPress Popup — WordPress Repo | Plugin Homepage

This open source option is loaded with integrations for popular third-party form plugins and engagement tools. There are some built-in filters for the popup display cases, just not for membership level…

This code recipe will filter the display of a popup using the Popups plugin’s custom rules filter. The recipe enables the popup ONLY for a logged in user with membership level ID 1. You can modify the recipe for your level IDs, or change the conditional to hide for level ID 1 or an array of level IDs.

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


Popup Builder — WordPress Repo | Plugin Homepage

This is a more bare-bones popup option, but for my testing did just what I needed it to do without hassle.

This code recipe will insert the selected popup shortcode via wp_footer throughout your site to any non-member. You can modify the recipe for your level IDs, or change the conditional to hide for level ID 1 or an array of level IDs.

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


OptinMonster — Plugin Homepage

OptinMonster is more than just a popups plugin, with premium features for inserting optin forms in posts, in a floating bar, based on exit-intent and more. A paid account (starting at $49/yr) is required to use the plugin.

This code recipe will remove the optin using a script placed via the wp_footer action. The recipe hides to popup for all logged in users with any membership level. You can modify the recipe for your level IDs, or change the conditional to enable the popup for members only.

This code recipe requires a PMPro Plus Account or higher.

View Membership Options


If you are using a different popup plugin, post a topic on our support forum (members-only) and we will help you with the filter for your setup.

Easily Install and Update Paid Memberships Pro Add Ons In Your WordPress Admin

The Memberships → Add Ons page in Paid Memberships Pro looks and functions just like the standard plugins page in WordPress.

If you have a PMPro Plus membership license validated in your WordPress admin under Settings → PMPro License, you can install and update any PMPro add on in one step (non-licensed sites can only install free add ons).

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

New Report Add On – Better Login, View and Visit Stats

This new plugin adds a new report to your Memberships > Reports screen. The report displays login, view, and visit stats for “This Week” and “This Year”.

View the Add On


Before

Visits, Views, Logins Report: Before

After

Visits, Views, Logins Report: After



Installation

  1. Upload the ‘pmpro-better-logins-report’ directory to the ‘/wp-content/plugins/’ directory of your site.
  2. Activate the plugin through the ‘Plugins’ menu in WordPress.
  3. Visit the Memberships > Reports page in your dashboard.

Special thanks to PMPro Member PixelHappy who sponsored the development of this plugin and allowed us to share it here.

Using AffiliateWP with Paid Memberships Pro

logoWe recently helped a client set up AffiliateWP – a fully featured Affiliate Marketing Plugin for WordPress that tracks sales and offers ways to automatically send payments. This plugin has built-in Paid Memberships Pro integration. If you’re looking to offer an affiliate program for your membership sales, this plugin should be at the top of your list.

Learn more about AffiliateWP


Integration Guide for Paid Memberships Pro

Paid Memberships Pro is natively supported by AffiliateWP. To activate the Paid Memberships Pro integration, in the WordPress admin go to Affiliates > Settings > Integrations and check the box that says Paid Memberships Pro

Screen-Shot-2014-04-07-at-3.13.28-PM

Once enabled, AffiliateWP will automatically generate referral records when a member successfully registers for your site after clicking on a referral link.


Viewing Membership Checkout Referrals

In the WordPress admin go to Affiliates > Referrals. The Reference column refers to the Order ID in Paid Memberships Pro.

Clicking on the Reference column will take you directly to the order record in Paid memberships Pro.


Referrals will only be credited on the membership initial payment, and will not be created when subscription payments are recorded. If you’d like referrals to be created on subscription payments, you will need the Recurring Referrals add-on.

Add Ons Now in the WP Repo: MailChimp, Constant Contact, AWeber, bbPress, WooCommerce, Infusionsoft…

Adding and updating Paid Memberships Pro add ons just got easier. You can now install our most popular add ons (mostly the third party integration options) directly via your site’s WordPress admin.

Take advantage of new features as these add ons grow and expand – and maybe more importantly to our customers – easily update when integration hiccups arise.

Checkout out these add ons at WordPress.org’s Plugin Repository:

Here are some other popular plugins by the Paid Memberships Pro team

These plugins do not rely on PMPro, but can be a useful addition to your membership site.

  • Force First and Last Name as Display Name

    Even if you are collecting the First and Last name at registration, WordPress defaults display name to the user’s username. This plugin will force display name to be first_name last_name – particularly useful for directory-type sites.

  • WP Bouncer

    Discourage account sharing by only allowing one logged in session per user account. This plugin will “bounce” the user’s session when a new session is created for the same credentials.

  • Hide Admin Bar from Non-Admins

    A simple plugin that will hide the WordPress admin bar (black bar at the top of your browser window) from logged in users that are not the Administrator role.