Build a membership site that grows with you: user registration, member profiles, 28 protected content types, free or paid subscriptions.
Paid Memberships Pro is a complete solution to secure your content and create a seamless membership experience on WordPress.
With over 28 ways to protect content, advanced membership management, and built-in recurring payment gateways, we provide you with everything you need to create an efficient and user-friendly membership site.
Read about all of the plugin’s features at Paid Memberships Pro or launch a personal demo site now to test drive the full plugin and premium Add Ons for free.
PMPro supports any kind of member-focused business or organization. With over 12 years of experience working with creators like you, this plugin delivers on what you need today and in the future. Select a use case to learn more about how we specialize in supporting your unique business:
You can also browse Case Studies for successful membership sites that are using PMPro to get paid for their content and reach their personal or business goals with 100% open source software.
“PMPro is very user-friendly, affordable and scalable. It has all the features you would need to run a fully-functioning membership site.”
Katie Prescott, Founder, Abridge Academy
All of our payment gateways are included in the plugin. Choose from Stripe, PayPal, Authorize.net, or Braintree. You can offer multiple gateway options at checkout including PayPal Express or manual and offline payments, like Bank Transfer, Check, and Venmo.
Add members manually, import/export members, require membership approval, and manage membership roles.
Track sales & revenue, signups, member activity, and more in detailed reports.
Install a web app on your mobile device or table for real-time updates on membership site reporting.
Extend functionality with affiliates, page builders, themes, and landing pages.
“Recommended to anyone from beginner to experienced coders. I tried MemberMouse and MemberPress and they both lacked critical features that I wanted for my member site. PMPro has all the features I need (Social Login, ability to gift, multiple membership levels, works with BuddyPress) and more. I can easily customize to make it look great too. If I have questions, which is often since I am a beginner in WordPress and know nothing about coding, they are quick to respond and always find a way for me to do exactly what I want. Super happy. Would recommend to anyone from beginner to experienced coders!”
@efsluys via WordPress.org 5-star Review
Access free support here on WordPress.org or reach out on our contact form. Refer to our information on premium support if you would like more help.
Our website has extensive documentation to assist you in building your membership site.
We also offer unique content hubs, which explore the 8 most popular membership site use cases and how to build a successful membership site on WordPress.
Open source, REST API support, extensive hooks, and tools for easy customization.
Our website offers over 340 examples on how to use our action and filter hooks to customize your membership site.
Our official theme, Memberlite, is built specifically for membership sites. Memberlite has deep integration with Paid Memberships Pro to offer advanced features for logged-in/out users and works alongside your favorite page builders, like the Block Editor and Elementor.
Extend the features of your membership site or integrate with third-party services through our library of over 65 Add Ons. Some of the most popular features include:
Our plugin is 100% GPL and available from the WordPress repository or on our site at www.paidmembershipspro.com. The full version of the plugin is offered with no restrictions or additional licenses required. Developers should get involved at our GitHub page.
Are you comparing Paid Memberships Pro with another membership plugin or third-party platform? We have a series of product comparison guides that will help you see the distinct features of PMPro as compared to other options, including:
…and more. You can read all of these comparison guides here.
After activation, you will be taken through a brief setup wizard to configure the plugin.
Refer to our Initial Setup Tutorial guide for additional help getting started.
Membership levels or Pricing page to showcase your subscription plans.
Set up the membership levels that best fit your business, whether they are Free, Paid, or Subscriptions (Annual, Monthly, Weekly, Daily). Offer Custom Trial Periods (Free Trial, Custom-length Trial, 'Introductory' Pricing)
Use the CRM-like Edit Member dashboard to give admins a deeper view of a single member's profile information, memberships, subscriptions, orders, and more.
Membership Account page, display all sections or show specific sections using shortcode attributes.
Optimized Membership Checkout page that blends seamlessly into your WordPress site. Fields captured at checkout can be modified with other Add Ons.
Easy to use Membership Access Settings by Page, Post, or Category. Use block settings or shortcodes to display restricted content inline. Developer-friendly hooks to restrict access any way you need.
Members are WordPress Users. PMPro provides a unique interface to view a single member's history, filter and search all Members or export your Members List.
Offer Membership Discounts with specific price rules (restricted by level, unique pricing for each level, # of uses, expiration date.)
Filterable Sales Revenue Reports (reports also included for Visits, Views, Logins, Signups, Cancellations, and other Membership Stats).
Advanced settings for updating non-member messages, optionally show excerpts or filter content, use reCAPTCHA, and a Terms of Service checkbox.
No, Paid Memberships Pro does not require any coding knowledge. The plugin is designed to meet all levels of WordPress experience. At the same time, our plugin is very developer-friendly and extendible.
Yes. PMPro will work with any properly coded theme. However, some themes may cause conflicts with the plugin. If you find a styling issue with your theme please create a post in the community forum.
Absolutely. We have a complete guide on using a caching plugin or your host’s caching methods with Paid Memberships Pro on our website if you want to explore this topic more.
PMPro does not restrict access to the wp-login.php page when active. This allows your administrator users to leverage advanced security plugins, like Two-Factor and more, so that you can keep your membership site secure. We do include a frontend login page for your members to use for logging in and resetting their password.
“Supporting multisite” means different things to different people. This guide covers the three primary ways you can use Paid Memberships Pro in a network.
Out of the box PMPro will basically act as a stand alone plugin for each site. Each site has its own list of membership levels, members, payment settings, etc.
Our Member Network Sites Add On allows members to choose a site name and title at checkout and will set up a network site at checkout.
Our Multisite Membership Add On allows you to manage memberships at the ‘Main’ Network site and provide or restrict access on other Network Subsites.
If you would like more help using PMPro on a network install, reach our via our contact page.
Please visit our support site for more documentation and our support forums.
Please post it in the WordPress support forum and we’ll fix it right away. Thanks for helping.
Not sure? You can find out by doing a bit a research.
pmpro_subscription_cost_text
for updating how the subscription cost is displayed. #3021 (@dparker1005)pmpro_dashboard_meta_boxes
to allow developers to hide dashboard widgets and add their very own widgets to the PMPro dashboard area. #3019 (@andrewlimaza)/membership/
slug. #2927 (@MaximilianoRicoTabo)pmpro_complete_checkout()
function. #2937 (@dparker1005)print.css
file from the plugin. These styles are now in frontend.css
. #2940 (@dparker1005)pmpro_longform_address
filter. Address fields will always be shown in longform format. #2990 (@kimcoleman)pmpro_is_checkout()
too early in the page load. (@kimcoleman)group
attribute to the [pmpro_member]
shortcode to show specific member information in the context of a level group. #2966 (@kimcoleman)Memberships > Settings > Levels
settings page. #2978 (@andrewlimaza)+ New > Member
admin bar menu item to be visible to any user with the edit_users
capability. #2968 (@kimcoleman)pmpro_subscription_gateway_object
and pmpro_order_gateway_object
to allow developers to modify gateway objects before they are used. #2962 (@mircobabini)pmpro_stripe_before_retrieve_webhook_event
to allow developers to modify the Stripe API key before retrieving a webhook event. #2962 (@mircobabini)changed
instead of admin_changed
when an admin modified a user’s membership. #2965 (@dparker1005)pmpro_show_setup_wizard_link
to adjust whether the link to the setup wizard should show. #2372 (@andrewlimaza)discount_code_id
. #2929 (@dparker1005)pmpro_deactivate_old_levels
filter that was removed in 3.0. #2946 (@dparker1005)current_screen
action before add_meta_box()
is defined. #2911 (@dparker1005)pmpro_account_membership_expiration_text
filter would no longer run. #2906 (@dparker1005)pmpro_next_payment()
would no longer work. #2904 (@dparker1005)pmpro_no_quotes()
. #2909 (@ipokkel)pmpro_setOption()
. #2915 (@dparker1005)pmpro_getOption()
to get_option()
. #2914 (@dparker1005)cancelled
orders to success
so that we can remove cancelled
status. #2025 (@dparker1005)$name
parameter to the pmpro_user_taxonomy_args
filter. #2456 (@mircobabini)pmpro_get_membership_expiration_text()
function to replace the various ways we were getting the expiration text for the Members List table and when showing levels on the account page. Includes a pmpro_membership_expiration_text
filter that is meant to replace the pmpro_memberslist_expires_column
and pmpro_account_membership_expiration_text
filters. The old filters are still applied if in place, but will be deprecated eventually. #2838 (@ideadude, @dparker1005)$item
object to the pmpro_manage_memberslist_custom_column
so that custom code knows which specific level is being shown for the user. #2857 (@dparker1005)pmpro_braintree_subscription_create_array
filter. #2890 (@dparker1005)admin_only
user fields would still show on the frontend profile if the current user was an administrator. #2432 (@dparker1005)pmpro_getOption()
to get_option()
. #2491, #2493, #2494, #2495 (@JarrydLong, @MaximilianoRicoTabo)$pmpro_levels
global variable. #2666 (@dparker1005)pmpro_set_pause_mode()
, pmpro_cron_trial_ending_warnings()
. #2818 (@dparker1005)