IMPORTANT: This Add On is in Beta Release and available for download on GitHub.

A Beta Release means that while the plugin is active and stable, it is not fully supported and should be used with caution in a production environment. While the functionality may work well with the core PMPro plugin, most of our Add Ons are not compatible with multiple memberships per user. We are working to update the documentation pages of Add Ons listed in this site to reflect current compatibility or plans to develop compatibility.

In particular, almost all of the Add Ons that adjust the checkout process, membership pricing, user subscriptions, or perform actions when users change membership levels will NOT currently work as you might expect with this plugin active.

This work will take one to two years at least. So please feel free to use the MMPU Add On in the meantime, but also take a look at the workarounds in this article which often work as well or better than using the Add On.


  1. Make sure you have the Paid Memberships Pro plugin installed and activated.
  2. Download the Multiple Memberships Per User Add On from GitHub.
  3. Upload the pmpro-multiple-memberships-per-user directory to the /wp-content/plugins/ directory of your site.
  4. Activate the plugin through the ‘Plugins’ menu in WordPress.
  5. Continue reading for setup instructions.


This Add On introduces the concept of “Level Groups”. Each Level Group has specific permissions related to the levels within, specifically:

  • Users can only choose one level from this group, or
  • Users can choose multiple levels from this group.

If you have existing levels in your PMPro-powered membership site, the first step of setup will be to name your level group and choose the setting. You can “drag and drop” levels into the group and reorder them just as you would in the traditional PMPro plugin.

About the Membership Levels Page

Your Membership Levels page will be altered to instead display levels according to their groups, and allows the user to choose to add or remove levels to their “order” (a shopping cart-like experience). Logged-in members will see what levels they currently hold and what levels they are modifying in this session.

When the member is ready to complete checkout, they will click a single “Checkout” button.

About Membership Checkout

If you are using Stripe as your primary gateway, this plugin will support a single checkout experience for multiple level changes.

All other gateways will require the user to complete multiple checkouts for each selection in the session. For example, if you are using PayPal for your gateway and the user has selected Level ID 4 and Level ID 6, they will have to complete two separate checkout steps, one for each level.


Membership Levels Admin Page Shows Groups
Membership Levels Admin Page Shows Groups
Edit a Level Group's Name and Settings
Edit a Level Group’s Name and Settings

Edit a Single Level and Assign Level Group
Edit a Single Level and Assign Level Group
The Updated Membership Levels Frontend Page
The Updated Membership Levels Frontend Page