About BuddyPress

BuddyPress adds community features to WordPress, including Member Profiles, Activity Streams, Direct Messaging, Notifications, and more. Learn more about BuddyPress »

Our BuddyPress Integration for Paid Memberships Pro allows you to restrict access to specific features of your BuddyPress community by membership level, allowing you to build a custom, private, and flexible members-only community.

Installation

  1. Make sure you have the Paid Memberships Pro plugin and BuddyPress plugin installed and activated.
  2. Install the Add On via the Plugins > Add New in the WordPress dashboard. Or, upload the ‘pmpro-buddypress’ directory to the ‘/wp-content/plugins/’ directory of your site.
  3. Activate the plugin through the ‘Plugins’ menu in WordPress.
  4. Continue reading for setup instructions.

Page Settings

This plugin redirects users to a specific page if they try to access restricted BuddyPress features. The user is redirected to the page assigned as the “Access Restricted” page under Memberships > Page Settings.

Assign the Access Restricted page under Memberships > Page Settings
  1. Navigate to Memberships > Settings > Levels
  2. Under “Additional Page Settings”, generate or select an existing page for the “Access Restricted” page.
  3. If you are using an existing page, be sure to include the [pmpro_buddypress_restricted] shortcode in the page content.
  4. Save Settings.

Membership Level Settings

With PMPro and BuddyPress, you have a few choices for how you give members access to features within BuddyPress. You can choose to give members of a level access to all of BuddyPress (and thus lock all other users without that level from accessing BuddyPress features) or choose specific features that require that membership level.

If you are planning to restrict BuddyPress for more than one level, the plugin will check if the user has ANY level giving them access to those features.

Restrict BuddyPress by Membership Level with Paid Memberships Pro WordPress Plugin

  1. Navigate to Memberships > Membership Levels.
  2. Select a level to edit or create a new level.
  3. Under “BuddyPress Restrictions”, change “Unlock BuddyPress?” to your desired option.
  4. Save Settings.

Specific areas of BuddyPress that can be restricted by Membership Level include:

FeatureDescription
Group CreationCan members of this level create BuddyPress Groups?
Single Group ViewingCan members of this level view individual BuddyPress Groups?
Groups Page ViewingCan members of this level view the BuddyPress Groups page?
Joining GroupsCan members of this level join BuddyPress Groups?
Public MessagingCan members of this level send public messages to other members?
Private MessagingCan members of this level send private messages to other members?
Send Friend RequestsCan members of this level send friend requests to other members?
Include in Member DirectoryShould members of this level be included in the BuddyPress member directory?

Managing Members and Groups in BuddyPress

  1. Navigate to Memberships > Membership Levels.
  2. Select a level to edit or create a new level.
  3. Under “BuddyPress Group Membership”, select the groups you would like to add or invite members to.
  4. Users will be automatically added to any group checked in the “Add to these Groups” option.
  5. Users will be invited (can manually choose to join) any group checked in the “Invite to these Groups” option.
  6. Save Settings.
Assign or Invite Members to BuddyPress Groups by Membership Level with Paid Memberships Pro WordPress Plugin

Non-Member User Settings

Some of your WordPress users may not have a membership level in Paid Memberships Pro. This plugin allows you to set how BuddyPress should be locked down for these users without a membership level.

Restrict BuddyPress for Non-Members with Paid Memberships Pro WordPress Plugin

  1. Navigate to Memberships > PMPro BuddyPress.
  2. Under the “Non-member User Settings” section, change “Unlock BuddyPress?” to your desired option.
  3. You can choose to lock access to all of BuddyPress, give non-member users access to all of BuddyPress or choose specific features that they can access.
  4. Save Settings.

Use BuddyPress Registration Process

This Add On also allows you to use the BuddyPress user registration process (in place of the Membership Levels > Membership Checkout process).

Set the Registration Page for BuddyPress and Paid Memberships Pro WordPress Plugin

  1. Navigate to Memberships > PMPro BuddyPress.
  2. Select your desired setting under “Registration Page”.
  3. Save Settings.

It is important to note that the BuddyPress registration process will not automatically apply a membership level to the user, nor will it allow you to process a paid membership checkout.

If you are allowing users without a membership level access to some portion of BuddyPress, you can select the “Use BuddyPress Registration Page”. This will only work if you have set the “Non-member User Settings” to allow access to some features of BuddyPress.

If you’d like to apply a default membership level (non-paid) as part of BuddyPress registration, please refer to this tutorial.

Creating and Assigning Member Types by Membership Level

  1. Navigate to Memberships > Membership Levels.
  2. Select a level to edit or create a new level.
  3. Under “BuddyPress Member Types”, select the member types you would like to assign for members of this level.
  4. Save Settings.

Note that BuddyPress Member Types must be created through custom code. This post explains how to add Member Types to BuddyPress.

Assign BuddyPress Member Types by Membership Level with Paid Memberships Pro WordPress Plugin

Membership Tab on BuddyPress Profile

This integration adds a new “Membership” tab to the BuddyPress frontend profile. This tab is only shown if the logged in user is viewing their own profile. The tab contents, by default, load the entire Membership Account page shortcode. You can filter the output of this tab using the pmpro_buddypress_profile_account_shortcode filter.

Membership tab added to BuddyPress Profile

Show the Member’s Level Name on BuddyPress Profile

  1. Navigate to Memberships -> PMPro BuddyPress in the WP Dashboard.
  2. Select “Yes” under “Show Membership Level on BuddyPress Profile?”
  3. Save Settings.

Synchronize User Fields with XProfile Fields

When defining custom user profile fields, you can also set up custom code that will duplicate the field to your BuddyPress XProfile Fields.

  1. Set up your user fields in Memberships > Settings > User Fields screen.
  2. Set up your fields in the BuddyPress Extended Profile.
  3. Note the name of your User Fields and the name of your XProfile fields.
  4. Create custom code, like the example below, to match each User Field name you want to connect to an XProfile field name.

Once this code is in place, the BuddyPress Integration for PMPro will keep XProfile Field updates in sync with user meta fields. Any update to the user meta field will also update the XProfile Field.

Here is an example of some User Fields fields defined with the buddypress option:

Forums with BuddyPress

If you enable Forums and want to protect them by membership level, you must also use the bbPress Integration Add On here. This allows you to protect access and adds additional membership site features to your community’s forums and topics.

Please note: BuddyBoss is not the same as BuddyPress

We have an article about using BuddyBoss with Paid Memberships Pro on our blog. The post details what is unique to the BuddyBoss platform and how to use PMPro to protect areas of your BuddyBoss site.

  • The BuddyBoss Theme is a premium theme that works with either BuddyPress or their BuddyBoss Platform. Our BuddyPress Integration Add On is developed specifically for the BuddyPress plugin and may not fully integrate with the extended features that the BuddyBoss Theme offers. The BuddyBoss Theme does offer a Paid Memberships Pro integration, and we advise that you test how far this integration allows you to use the specific PMPro features you are interested in.
  • The BuddyBoss Platform is a free platform that is meant to replace BuddyPress. Our BuddyPress Integration was not created to integrate with this platform directly, but BuddyBoss advertises that anything you can do with BuddyPress can also be done with BuddyBoss. Read more about the BuddyBoss platform here.
  • You can also find more information about the differences between BuddyBoss & BuddyPress in their comparison guide.

Action and Filter Hooks

apply_filters( 'pmpro_buddypress_profile_account_shortcode', '[your_custom_shortcode]' );
apply_filters( 'pmpro_bp_get_user_options', $pmpro_bp_all_options, $user_id );
apply_filters( 'pmpro_bp_user_can', $can, $check, $user_id );
do_action( 'pmpro_bp_redirect_to_access_required_page' );
apply_filters( 'pmpro_bp_directory_sql_parts', array $sql_parts, array $include_levels );

This is a Free Add On.

Create a free account or log in to gain access to downloads and documentation.