1. WordPress Membership Plugins for Any Site
  2. Setting up a Membership Site with Cart66 Cloud
  3. Setting up a Membership Site with Exchange
  4. Creating a WP eCommerce Membership Site
  5. Wrap-up: Membership Sites with eCommerce Plugins
  6. Using the Paid Memberships Pro WooCommerce Add-on
  7. Restrict Content Pro Review
  8. Building a membership site with WooCommerce Memberships

We’ve already written about creating a Membership Site using WooCommerce, but today we wanted to tell you about another option for your WooCommerce membership site. PMPro now has a Paid Memberships Pro WooCommerce add-on that will allow you to tie PMPro’s content restriction rules to a WooCommerce product to grant access to your membership content.

Want to know more about both platforms? Here’s our Paid Memberships Pro Review and our most recent WooCommerce review.

What do I need?


PMPro Setup and Configuration

After installing and activating the plugins listed above, I’d recommend setting up your Paid Memberships Pro access levels under Memberships > Membership Levels. Create a membership level for each type of access that you’d like to sell, but don’t worry about the billing details too much – we’ll create them on the WooCommerce side of things. You should pay attention to your category restriction and make sure that you grant access to the appropriate categories for each level. You’ll also be able to restrict pages with these levels as needed.

While creating membership levels, you can also assign a global store discount to each level. For example, if a membership purchase grants both content access and a discount on all products, then you’ll want to fill in a value here (i.e., "5" for a 5% discount):

Paid memberships Pro WooCommerce global discounts

Global Member Discounts

After creating your levels, your setup is mostly finished. You probably won’t need to create any pages for Paid Memberships Pro, as I’m assuming you’ll want to use the WooCommerce checkout to make sure all payments are processed using your WooCommerce gateway and order management (for easier record keeping). If that’s the case, you can skip setting up payment processing information with PMPro as well. However, there is one thing you’ll want to pay attention to in settings, because it generates a button on restricted posts / pages:

Paid memberships Pro WooCommerce addon | Registration

Uh Oh. Change that link!

That registration button will send users to the PMPro membership registration page / checkout flow, which we’re avoiding. Since you probably don’t want to use the PMPro checkout in addition to WooCommerce, make sure you adjust your Advanced Settings. Instead of directing my “Register” link to the PMPro memberships page, I’m going to replace that link to direct new members to my WooCommerce membership products. I’d recommend using a ‘membership’ tag or category (I’ve used a category in the example below) so that you can easily link to all products that customers can use to register.

This content is for !!levels!! members only.<br /><a href="http://mystore.com/wp-login.php">Log In</a> <a href="http://mystore.com/product-category/membership/">Register</a>

Notice that the “Register” link is pointing to my membership category instead of PMPro’s registration page. You could send customers to a specific product page instead if you prefer. That should be it for the PMPro side of the setup!

WooCommerce Setup and Configuration

I’m going to assume you’ve set up your WooCommerce store already and configured the appropriate settings (i.e., catalog setup, checkout, and more), so let’s talk specifically about selling memberships.

Any pricing information is going to be added when we create our WooCommerce products. Since we want the checkout process to go through WooCommerce, we’ll make a simple product or a simple subscription (variable products are not supported yet with this add-on), and “tie” the membership to this product. When the product is purchased and the order is marked ‘completed’, the appropriate access level will be granted to the user.

This gives you some flexibility in selling your memberships. For example, you can sell them as a stand-alone item to provide access to your restricted content, or they can be an ‘add-on’ feature for your shop.

Let’s say you sell a WordPress plugin or theme in your store as a downloadable product. You can create the product and tie a membership to it for the support forums and documentation. When it’s purchased, the buyer now has access to the ‘membership’ content or perks.

Another example could be that you want to include a virtual subscription to content along with a physical magazine purchase, or simply to provide a ‘discount membership’ to customers that buy a premium product.

Simple product pricing will be used for your membership, but simple subscriptions are supported as well if you’d like to instead charge on a recurring basis – that’s where the Subscriptions extension comes in. If you’re not sure how to use Subscriptions, check out our original article on Memberships with WooCommerce, as it details how to set up subscription-type products:

PMPro WooCommerce subscription pricing

Subscription Pricing

Once you’ve determined which product you’ll need (simple or subscription) and pricing has been set up, you’ll need to tie membership access to the product, which is very simple. Using the add-on creates a new “Membership” tab in your product data. Simple go to that tab, and select which access level should be applied with the purchase of this product. You can leave the other fields blank.

Paid Memberships Pro WooCommerce Tie Membership to Product

Tie Membership to Product

That’s all it takes to sell memberships! Don’t forget that orders must be complete before access is granted. If the membership is tied to a physical product that needs to be shipped, then you should make sure customers know that their access will not begin until the order is shipped or they get the “order completed” email.

Create a ‘For Members’ Price

The Paid Memberships Pro WooCommerce Add-on will also allow you to create custom pricing for members. The global discount mentioned above is one option you can provide, but you can also restrict discounts to certain products instead.

The other part of the “Membership” tab under Product Data will allow you to set customized member pricing for any product. Your membership levels will be listed, and you can fill a new price to be displayed to logged in members. You can choose to leave any fields blank if you don’t want to offer discounts to all member levels.

Paid Memberships Pro WooCommerce members pricing

Membership Pricing

Once you have member pricing set up, the prices in your shop will change automatically for logged in users. Members will see the appropriate member price based on their level instead of the actual price (in both the shop catalog and product pages).

PMPro WooCommerce Regular Price

Before: Regular Price

PMPro WooCommerce member price

After: Member Price

Notice that members may not know that they’re getting a discount on the product, as the price simply changes. You may want to add a notice about member pricing in the product short description to ensure that members are aware of their discount. You could also use this as a way to sell your memberships on new customers.


Don’t forget to restrict any pages or other posts you’d like to hide from non-members as well! You can do this by checking which levels should have access under “Require a Membership” while editing a page / post. Once restrictions are set up for posts, categories, and pages, and your WooCommerce products are configured, you’re ready to sell memberships.

Questions about using the Paid Memberships Pro WooCommerce add-on? Let me know in the comments and I’ll do my best to answer ๐Ÿ™‚ .

Note: This post may contain affiliate links, which means we get a commission from the plugin, theme, or service provider if you choose to purchase. Regardless of this, we are committed to providing high quality, unbiased resources. Have more questions? See our affiliate policy. You can use the plain links below if you prefer that we not receive a referral commission:

Posted by Beka Rice

Beka Rice manages the direction of Sell with WP content and writes or edits most of our articles to share her interests in eCommerce. Or she just writes as an excuse to spend more time jamming out to anything from The Clash to Lady Gaga. Who knows.


  1. Good to know there is another membership option for woo. I agree that sometimes the groups and groups woocommerce plugins can be confusing – especially for those who are new to WOO. But Groups does have some pretty good functionality through the system.

    1. Definitely – really like that you can have multiple subscriptions tied to an account using Groups, but there is a bit of a learning curve. Really cool to see so many options for the platform!

  2. Thanks for the article. I have a problem with the “expire” of memberships.

    WooCommerce, PMPro – WooCommerce & Paid Memberships Pro are all installed and configured, payment gateway is working. But when a new member has paid and the order has been confirmed, the “expire” of the new member is “never”, even though i entered 1 month in the membership level.

    I hope my question makes sense ๐Ÿ™‚ thank you..

    1. Hi there, I would post this in the support forum so that the PMPro team could take a look: http://wordpress.org/plugins/pmpro-woocommerce/

  3. Hi Beka,

    Thanks for all the nice articles, but I’m still confused, how do I integrate Paid Membership Pro with Woocommerce, I have done everything as mentioned in the article, I am unable to make out where exactly you have tied the products to membership levels, could you please help with this?

    TIA !

    1. It’s more tying membership to a product, not tying a product to memberships, as it has to be done on the WooCommerce side. When creating a WC product, there should now be a memberships tab under “Product Data” – you’ll just need to select which level should be activated when that product is purchased, then save the product: PMPro WooCommerce membership product

      Membership levels must already be created with PMPro to be tied to a product.

      1. “Regarding: Itโ€™s more tying membership to a product, not tying a product to memberships,”
        Hello, Shuaib, Beka Rice and all interested, I have worked this out. To be succinct, you will need PMPro Roles and Woocommerrce Dynamic Pricing plugins.

        First install PMPro Roles and then Dynamic Pricing. Then setup your dynamic pricing per product, category or however you need to. If you use PMPro with a global discount, you will have to remember that when setting a members price for a product since both will be applied. One thing to note, actual discounted prices won’t show until the user views the cart.

        I hope this helps!

        1. Thanks for the tip Jeffrey!

  4. With all the possible combinations of plugins, what would be best for creating a site where membership is required to purchase certain products? We’re building a site that sells seminars for association members. Non-members can browse the seminars, but in order to purchase, a membership is required. Also, we want to send emails to all the people registered for the seminars. Membership will also allow access to bbPress forums using the PMPro + bbPress plugin. Do you think Woo + PMPro with Woo Subscriptions is the way to go? Is there any use for the Groups or Groups For Woo plugins? Or is that duplication? Is there a better option we should consider? It looks like Woo + PMPro just enables member discounts. We need to restrict the ability to purchase altogether.

    1. Hi Dan, you could do this by extending the Groups for WooCommerce plugin to create a capability for purchasing products, then using that to restrict certain products to members-only purchases, which would make PMPro redundant (There’s a direct bbPress integration for WC available). Unfortunately, there’s no pre-built way to showcase products yet restrict purchasing, so you’d have to have something developed.

      If you’re not tied into WooCommerce, you could probably do this with Exchange from iThemes using the free Members Only Products extension + the Exchange Pro Pack, which contains bbPress, Membership, and recurring payments add-ons. Note that I’ve tried the Exchange Memberships + Recurring Payments add-ons, but not the free “Members Only” add-on, so you may want to check further with iThemes.

      We have a coupon on our Special Offers page for 30% off of the entire iThemes plugin suite, which includes the Pro Pack, and the price ends up being less than the Pro Pack alone.

  5. Great Articles Beka. I believe I have read everyone of yours on the membership plugins! I did have a couple of questions that maybe you could help me sort through as I have been trying to make a selection on what combination of plugins to go with to facilitate our business expansion for the past 6 months and this may be just what I was looking for.

    Brief Overview- Any families that are enrolled in our instruction programs must be a member of our business (online annual recurring membership that gives them access to online content). They also need to purchase the learning kit to get started in programs (which is a physical product that we ship to them). The annual membership will give access to base content that is updated weekly. When they purchase the physical product, we will ship them the product, and also give them access to a page of online content specifically associated with that product.

    To facilitate this I have setup a members website/store. I was going to use Membermouse at first, but am not pleased with how the store looks or functions for physical products. So I have built the site around a Woo-Commerce friendly site and plan on using the Woo-Commerce platform to sell the Membership and Physical Product. (I have setup subscriptions already in Woo-Commerce). It is important to me that my customers only need to have one login to access there members content, and purchase the physical products from our online store.

    The Problem-
    If I wanted to use MemberMouse to give access to content I would have to go in manually after they purchase membership through woo-commerce, and add them to the membership plugin. Also, when I have tested this the customer needs to login through the membermouse form to get to the right access page and it seems like trying to do both is going to cause some problems in the future with collisions of woocommerce. I really like membermouse and how easy it is to protect content, but I only want to sell with Woo-Commerce.

    So I have been searching for ways to give access to protected content and want the simple way to do this. The Groups solution you laid out in past articles looks like a less user-friendly option but has a lot of functionality. I was excited to see the Paid Memberships Pro plugin that is designed specifically to give access to memberships, came out with the functionality to integrate with woo-commerce. Here are my questions:

    1. With my business model in mind above, do you see any problems that would not be able to be facilitated using the Paid Membership Pro plugin?
    2. Does the Groups plugin have more functionality then the Paid Memberships Pro Plugin that I should be aware of before choosing which to go with?
    3. Using the Subscription Payments plugin with woo-commerce, will it automatically take away access to the protected content if the membership is not active?

    Thanks so much for all the information. Your blogs are fantastic and extremely helpful. I want to make the best decision on which products to use before my business expands and we have scaling issues.

    Thanks so much,

    1. Hi Matt, thanks so much for the kind words! I’m hoping I keep this together:

      (1) So long as you’re using PMPro to grant access when your annual subscription (simple subscription product) is purchased, I think your content restriction will be fine. WooCommerce will handle the shipping / billing, PMPro will handle the content restriction. Everything is tied to the same user account, so only one login is needed.
      (2) Groups can give you some fine-grained control over access that may be tougher with PMPro and it’s supported through WooThemes, while PMPro requires a membership for supporting this add-on. However, PMPro is slightly easier to use, and you can do some other things, such as content dripping. This one comes down to personal preference I think and what other functionality might be on the horizon for your site. If you’re more concerned about the products side, I might try Groups, as it integrates with Dynamic Pricing and other extensions for your members. However, PMPro gives more flexibility on the content side.
      (3) I’m not sure about this one. If you’re using Groups + Subscriptions, then yes – when the subscription is cancelled, the access level is also removed. I’m not sure how PMPro handles this as it’s a pretty new plugin and I haven’t used it as much. Might be something to ping their team about as a quick question.

      Hoping that hits all of these points!

  6. Thanks for the great tutorial. I am developing a job portal. I am 80% done. I am using woocommerce to accept payments for different job packages, however i also want to add subscriptions so that jobseekers can register and pay a small fee and renew membership every six months. How can i go about it….Help

    1. Hey there, you can set a subscription to renew every 6th month when you create the product that they’ll use to purchase memberships.

      1. Thanks so much for your quick response. Actually what i meant was, how can i set up membership in such a way that the jobseekers have to register(paid membership) before they can apply for the job advertised. This should work around a woocommerce environment since i cant use any other payment gateway in my country yet.

        1. Hey Nesim, You could probably create jobs listings as an external/affiliate product, then link to a protected page when the “Buy Now” (or for you, “Apply”) button is clicked. The “apply” page should be one that only members can view and non-members are prompted to purchase to view it. Would be similar to what’s described here.

        2. Hey Beka, Thanks so much for your help and sacrifice. I was able to create the external/ affiliate product that linked to the protected page. Now the next challenge was, it asked me to setup a payment gateway when i clicked on the register button, how will i do this on woo commerce instead from pmpro’s gateway? Pmpro asks me to set Paypal and other payment gateways which i don’t have and which my clients will have a hard time to use. Instead how can i link this product to checkout with woocommerce. Thanks alot

        3. Hey, you can use the tip in this section to direct that button to a WooCommerce page instead of the PMPro page. You could also use a WooCommerce “Add to Cart” URL instead of a page URL – this post can help with that.

  7. Thanks for your tremendous support. I have been able to make great progress. Perhaps as a final request you may visit the site am working on for a few minutes so that you advice me professionally on how am going to integrate subscription payment system for job applicants. I made the site in such a way that once a job applicant has submitted his information and CV, he automatically gets registered and the password is sent to his email for his account. This process was to eliminate the obvious usage of sign ups method that most of us use. The same was done for the employers but for them they have to checkout first before their job posts are submitted. sorry for taking alot of your time. Link to the site

    1. If you’re creating jobs as products, you can make them subscription products using the Subscriptions extension. If you’re already charging members to sign up, then allowing them access without creating a subscription from the start, I’m not really sure how’d you’d then force them to begin paying on a subscription basis.

  8. Hi Beka!

    Great article! My website has memebership levels in order to access certain features (I’m combining buddypress with Pmpro and Woocommerce), the thing is when somebody select the desired membership level it takes them to the PMpro checkout. Is there a way of using the woocommerce checkout to pay for the membership? I did not fully understand how to do it in your article.


    1. Yep, you need to follow the instructions at the bottom of this section (under PMPro Advanced settings) to change the link for the membership button. For the “Register” part, use a URL for a WooCommerce membership product or category instead of a PMPro link.

  9. “Yep, you need to follow the instructions at the bottom of this section (under PMPro Advanced settings) to change the link for the membership button. For the โ€œRegisterโ€ part, use a URL for a WooCommerce membership product or category instead of a PMPro link.”

    Can you please shed some light on how I can do that while utilizing [pmpro_levels] but to direct them to woocommerce product pages? I’m talking about specific product page not product category because you see each level is to go to a specific product page.

    Please advise. By the way, these plugins; pmpro & pmpro-woocommerce rocks royally. I’m fortunate having discovered them.

    1. Hey Mike, you can’t use the [pmrpo_levels] page / shortcode for this without custom code to edit the levels.php file – you have to create your membership as a WooCommerce product instead and solely use that product page to sell your membership (which is why I recommended tagging / categorizing memberships if you’re selling other stuff, too). The idea behind this is to not use the PMPro pages for registration / selling at all, but to direct everything through WooCommerce. PMPro then does all of the behind-the-scenes work for content restriction, but shouldn’t be used on the frontend.

      My tip changes the only PMPro part that should be displayed to users – the “register” page if they try to view something they can’t. Instead of using the PMPro Member levels page, I’d recommend that you create your own landing page and link directly to WooCommerce products that sell your memberships.

  10. Beka. Great article – I have found this immensely useful. I am having the issue you describe in your article and as explained in your reply, above, to Gustavo. I have gone to Advanced Settings in PMPro where I understand that I need to change the Register link. I have tried for 10 days now to change this, using very many variations, but nothing seems to work. I always get an error page. I only have one product for sale in Woocommerce, which is a one-time payment membership. Any ideas on what I’m doing wrong? I have tried copying your example (inputting my own site name) e.g.:

    This content is for !!levels!! members only. <a href="https://firstnovelmasterclass.com/wp-login.php" rel="nofollow">Log In</a> <a href="https://firstnovelmasterclass.com/product/first-novel-masterclass/" rel="nofollow">Register</a> (this is the page I'd like it to go to). I'm clearly missing something significant here, but am clueless. Suggestions are very welcome.

    1. Hey Beth, not sure why this would be, as it looks okay to me – maybe because you’re using https:// for the product link instead of http://? Most servers should redirect this correctly, but some don’t and maybe yours is having this issue. That’s the only issue I can think of ๐Ÿ™ sorry!

      If this persists, I’d recommend getting the PMPro support package, as it’s definitely worth it for help you get!

  11. Hi,
    Great post!
    I have a related question.
    I would like to create a website that can only be access by membership (using the PMPro) but I would like to be able to send those products on another different blog.
    Is that possible?
    Will this woocommerce/PMpro interaction help me on this or maybe this will just complicate it?

    Thank you for your help



    1. Hey Angel, are you planning to (a) list the products on the membership site, but send members to the other blog to purchase, or (b) sell the products on the membership site, but fulfill the orders from another site? Not quite sure what you’re asking.

      1. Kind of b). ๐Ÿ™‚
        I want to sell a course membership located on another domain from my blog.
        I am thinking that the best way to do this is just redirect the people to the sales page on the course domain, and try to no complicate myself more ๐Ÿ˜‰
        So the woocommerce and the PMPro pro should be installed just on the course website and keep the blog separate.

        What do you think?

        Thank you!!

        1. I’m thinking your solution does sound the easiest, otherwise you’ll have to basically mirror the user accounts on the course domain / export the orders, which will be a pain ๐Ÿ™‚ . Definitely keep everything on the course domain if you can!

  12. Dearest Beka,

    Thank you for your great article. I am bumping into a frustrating issue…I am trying to tie a product to a membership so when they sign up for this particular membership they will be able to download this product for free or on sale.

    I go to “membership” tap in the product page and keep the option “none” selected for “Membership Product” tab and then write “O” as a value in the box related to the particular membership I want the product to be free.

    Though, it still shows the regular price….

    Another challenge I am having is when setting a global discount rate for a particular membership, it applies to some products and not other…And I have not been able to figure out why….

    I appreciate your kind help Beka, thank you for your time!

    Mother Earth Blessings

    1. Hey Gaia, you’ll actually want to separate these two processes: (1) Tie membership level to one product – this is what they purchase to get access. It sounds like this step is missing, but I’m not sure. (2) Create a product for the thing you’re trying to give away for free. Set the price of this to 0.00 (include the decimal – see this issue) for the right membership level.

      As an alternative, you could also protect the membership product you’re trying to give away for free so nonmembers can’t see it – tutorial here.

      The global discount thing I’m afraid I won’t have any insight into – I’d suggest posting on the support page in case it’s a bug. Hope this helps!

  13. HI Beka,

    First of all its like WOW (big one) you actually helping lost souls out here. Kudos o/

    I dont know i am too smart of use common sense (i am not very pro coder nor WP pro user). Just started experimenting with WP in last couple of months.

    I feel most of the ans you have given is very straight forward if someone is willing to do some R&D. Which most not ๐Ÿ™

    Reading all the buzz, i am confused as to how PmPro is needed at all. WooCommerce ($0) + Groups + User Role Editor can manage any membership site.

    Discounts and stuff is different but for a simple membership site isn’t it OK to just have Woo + Groups + User Role Editor.

    Thanks BIG one for all the hard work you have been putting out here.


    1. Hey Jay, thanks so much for the kind words ๐Ÿ™‚ . You’re correct that you could use Groups instead for content protection, I’ve just found that some people like using PMPro better. I’d recommend also using the Groups – WooCommerce connector to automate the process of assigning customers to the correct groups when they purchase your membership products. We actually have a tutorial on this too: WooCommerce Membership Sites

  14. “While creating membership levels, you can also assign a global store discount to each level.”

    — Would it be possible to have some degree of flexibility? For example I create a membership group and then apply discount only to specific product or a category of products?
    — Also – are there any discount rules?

    Thank you.

    1. Hey Elijah, at this time all discounts are global and can’t be targeted to categories or include rules, but you could achieve this with custom code. Alternatively, you could use Groups + Groups WC + Dynamic Pricing for this.

      1. Thanks. But to make sure…

        1. Those global discounts are based on GROUP MEMBERSHIPS of PMPro (not Roles).

        2. I’m looking for the following functionality:
        – User buys membership, then he automatically is placed in specific group
        -This group (not role) can be assigned discounts to Woo Commerce products

        Let me know if this is doable with PM Pro.


        1. Hey Elijah, as far I know, this is the way that the PMPro global membership discounts work. PMPro memberships don’t use a role (reference), so the global discount is only for the membership level.

  15. One more thing – will this set up handle closet to 50.000 users? (we have enough servers horsepower to handle the load – I’m asking from the plugin perspective)


    1. That would be a question for the PMPro developers ๐Ÿ™‚ . I’ve seen WooCommerce + Groups handle 20,000 users, but I’ve not come across more than that and I’m not sure about PMPro.

  16. Is there a way to reroute users after the login to the appropriate page assigned to membership level?
    It doesn’t seem to work.

    For specific membership level I configured the pages in Memberships > Page settings and included [pmpro_account] in the page but when user logs in he stays on the home page.
    “Require Membership” checkbox is checked on the Gold Membership page.

    Do I miss something? Do I need Groups plugin (in addition tot he plugins described in this article) to be able to do that?


    1. Hey Elijah, you won’t need Groups, but PMPro doesn’t do this automatically. They can be redirected back to the page they came from as per this thread or this tutorial (paid) walks through redirecting members to a particular page.

      1. Beka, I absolutely appreciate the time you take to answer all those questions. Not having this functionality is a serious blow since other free solutions (like s2member) do it by default and it never occurred to me that this is something that would be required to be paid for. 97$ is a steep price to for something that is included for free with other solutions.

        A couple of pre-sales questions then…

        Let’s say if we upgrade to 97$ package, will the following be true?
        a) After users login – can they be redirected automatically to the specific page – for example Golden Membership page that is shared for everybody with this level of mebership.
        b) Will users have their own profile created – if so, can they be redirected to their personal profile after their login?
        c) Would it be possible with paid solution to display username in the header instead of having a LOGOUT link?

        Thanks a lot.

        1. I’m not sure if each if these would be part of the support membership since I’m not aware of how much code each requires. I’m sure the PMPro crew would be happy to clear it up ๐Ÿ™‚ they have a form for pre-sales here: http://www.paidmembershipspro.com/contact/

        2. Hi Beka, thanks. I got confused and need to double check a couple of things. I was assuming the are present, but need a confirmation.

          1. Can PMPro create user profiles? I mean the pages corresponding to every registered user wher this particular user can perform basic management tasks for his profile – for example to change his own password.
          2. If yes, then do I understand it correctly that when user logs in he:
          a) can be redirected to his own profile
          b) in order to make it happen 97$ should be paid for account upgrade and then the solution in the form of script will be provided to perform automatic redirection after the login.

          Do I get it correctly?
          Thanks, Elijah.

        3. Yep, they can create user profiles and do things like change passwords. If you’re trying to just redirect to the profile and not a page, I think it does that already, though I’m not sure if it redirects to the backend (like what you see in your own user profile) or the frontend profile page.

  17. Thatโ€™s the thing โ€“ it doesnโ€™t ๐Ÿ™‚ When I login through the home page I stay on the home page. Kinda makes me wonder โ€“ how do I get to user profiles at leastโ€ฆ no to mention being redirected to it when the user logs in.

    1. it seems we’ll have to pass on PMPro – things that were supposed to be basic are not included and guys never reply (I used contact form you mentioned to answer a presales questions)

  18. “Yep, they can create user profiles and do things like change passwords. ”

    According to this thread PMPro simply doesn’t have user profiles.

  19. Hey Beka!

    Thanks for the tutorial.

    I am using PMPro + WooComm + Subscription Extension..

    Here’s my issue — when I check out, I go to my account page and it doesn’t send me to any “login” or “register page” and PMPro is NOT creating a new membership level or user account.

    I am not sure why as I’ve connected everything appropriately, or so I thought. any suggestions?

    Thank you ๐Ÿ™‚

    1. Hey April, that sounds like it might be a bug, so I’d recommend throwing it in the WordPress support forum for the PMPro WooCommerce plugin so the developers can have a look. Cheers!

    2. Hi,

      Have you found a solution for this? I’ve been surfing around at it looks that the integration between PMPro and WooCommerce doesn’t allow user creation after checkout, you need to create an account first and then purchase the membership, or something like that because I didn’t test it.

      I’ve read that there is a workaround but didn’t find any information.

  20. Great article, Beka. Thanks! I guess my question is in coming from Magic Members to PMPro using WooCommerce, how or WHERE to I import the MM users into? Do they import into WooCommerce or PMPro? The next question would be what tool to use. I have this PMPro tut on importing into PMPro using CSV (http://www.paidmembershipspro.com/add-ons/third-party-integration/pmpro-import-users-csv/). But it doesn’t address this WC scenario.

    Thanks for any light you can shed.

  21. Hello Beka,

    Awesome post but I’ve got some questions. I really hope you can help me out. I currently have installed Paid Memberships Pro, Woocommerce, and Paid Memberships Pro Woocommerce Add-on. My setup involves only one membership level. What I intend to do is to restrict access to certain parts of my wordpress site and make visitors (non-members) purchase the membership. However, when I tried to set this up I was able to get to successfully pay for the membership but I wasn’t directed to any registration page where I can register for the membership. I’m not sure what I did wrong. I’m pretty new with all of this.

    Thanks in advance!

    1. Hey Chip, if you’ve tied the membership level to a WooCommerce product, then there’s no registration required – it’s created at checkout. You may want to be sure that you don’t enable guest checkout so that purchasers must create an account when buying the membership.

      1. Oh ok, that makes sense. Thanks Beka! ๐Ÿ™‚

  22. Hi Beka,
    Firstly thnx for great article. I’ve a question difference between recurring payment with membership payment.
    I’ll launch a project and the project include recurring payment all customer (non-member levels
    ) but my some products has a package product which creatable by customers. So this package’s price will change customer’s choices. So how I should follow instructions for this ?
    Best Regards,

    1. Hey Ahmet, I’d recommend creating the package using a WooCommerce product with Gravity Forms and the WooCommerce Gravity Forms add-on. This will create a form for the product that can influence price.

      1. Many thnx, but my guess, woocommerce gravity forms add-on not available anymore. ? Could you suggest different add-on ;?

        1. Whoops, looks like my link was old. It’s here.

  23. Hi, my client wants to sell access to online courses so I’m planning on assigning a membership level to each course. I’ve tested and even if I purchase two woocommerce products (linked to membership levels) it only assigns the user to one. Does this not allow multiple membership levels per user? Thanks.

    1. Hey Adam, not in the core plugin. It looks like there are some add-on possibilities I would ask the PMPro guys about based on this thread.

  24. Hi, awesome tutorial! Found it very useful. I was hoping you could help me with a small problem. Is there a way of protecting a single woocommerce product with membership levels. I.E if I am selling a shirt in our store which I want everyone to see but only exclusively for our members to buy. I could put the single product on a protected page or post but non members could then still search our site for the product and purchase ‘as its not actually protected’

    Hope you can help in any way.


    1. Hey Ross, this can’t be done with PMPro, but the Catalog Visibility Options plugin can allow member-only purchasing if you use Groups + Groups for WC instead.

  25. Hi Beka, Thank you for writing the tutorial.

    I am working on a website for my client where he sells different courses to users. I am using WP Courseware plugin to set up the different courses and their modules. I want users to subscribe for the courses using Woo Commerce plugin. I am using three plugins to do this – WP Courseware, Woo Commerce and PMPro Woo Commerce add on and setting up the courses as below –

    1- I added a new course and course modules.
    2- I added a new membership level using PMPro membership and assigned the course to this membership level.
    3- I created a new product in Woo Commerce and set up the membership level for this product.

    Now when a user purchases that Woo Commerce product, it works fine but it does not grant the membership level to the user assigned with Woo Commerce product.

    I hope you understand my question and can help in any way.

    Sumit Sehgal

    1. Hi Sumit, what you’re describing should work as you expect, so I’d recommend submitting this to the PMPro-WC support forum. Membership levels should be assigned once the product has been purchased (but will not be assigned retroactively for past purchases).

    2. This is the problem I was talking about above.

      I’ve been told that supposedly in the premium support forum there is some code that fixes this, but no one confirmed it.

  26. Beca, Thanks for the great post. I have been researching the best options for Memberships with recurring payments through Woocommerce. Just to recap: The only plugins I need are Paid Membership Pro, The PMP Woocommerce Extension and Woocommerce Suscriptions? If so, do you know: if a Member upgrades, will their current membership cancel so I don’t have to adjust pricing or charge them twice each month?

    1. Hey Smyth, good question. I’m not 100% sure of how PMPro WooCommerce is integrated with Subscriptions (or even if upgrades / downgrades are used), so I’d recommend checking with their team. I know Groups for WooCommerce does use upgrades / downgrades, which I wrote about here.

  27. Does anybody know if the Paid Membership Pro plugin will work with a Bookable product type? I am using WooCommerce Bookings and I need to protect some extra pages for people who purchase a booking. Thanks in advance!

  28. Price is not updating according to Befor member price and after memberprice photo provided in this post
    Please advise need guidance.

    i have only single level of gold membership. I also set up base price of woocommerce product 2800 euro and for membership price it is 2340 euro. but when a user enter with gold membership subscribe enter it does not show him an updated price of 2340. it still shows him regular price. I also changed product type as simple, variable product. nothing happen.

    1. Hey Raj, I’d recommend submitting this to the support forum, as I’ve not seen this issue myself.

  29. Does this Plugins PMPro+WooCommerce Add-on for PMPro works with WC subscription Plugin ?

    1. Hey there, I’d check out this section for details.

  30. Just a note, the recent update of WooCommerce and the extension “Product Add-ons” for WooCommerce does not update the cart when members are signed in. For instance if I am purchasing a product for $10.00 and want to add gift wrap for an extra flat fee of $5.00 I would use WooCommerce “Product Add-Ons”. If the $10.00 is a discounted rate for that membership level and I proceed to checkout, we would expect the price to add up to $15.00. Price remains $10.00. There is something funky with the pmpWooCommerce and WooCommerce’s extension “Product Add-Ons”

  31. Hi,

    I am constructing a shop to sell retail shampoo and conditioner etc. This is fine to sell to the general public.

    I would however like to sell professional products (i.e. hair dye tint and peroxide) to customers that are registered as trade members.

    Is it possible to split the site as such – i.e. every visitor can see every product but only trade members can by the products categorised as ‘trade’??


    1. Hey there, I think you’d probably want to investigate using the Groups plugin and Catalog Visibility Options instead. You can then use your groups to determine who should see products or prices, and you could also set different pricing for these members using Dynamic Pricing (tutorial here).

  32. Moussa Boudriga January 28, 2015 at 9:26 am


    Thank you Beka for your good tutorial, but I have the following question for you:

    I have followed the tutorial and I have added four subscription levels, whenever someone click on “Select” on the Membership_Levels page, it always redirects them to the same page and nothing happens. Do you have any idea why is this happening ?

    Thank you

    1. Hey Moussa, I’m afraid I haven’t seen this, though the PMPro Add-on is designed to instead sell memberships as WooCommerce products and not via the membership levels page. I’d recommend getting in touch with support to see if it’s a known issue.

    2. Moussa Boudriga January 30, 2015 at 8:00 am

      Hi Beka,

      Thank you for your prompt reply. Actually I figured it out. In paid memberships pro “pages settings” I had to choose pages because I have left it empty in the beginning. For the “check out page”, I had to put the link for the page that contains a pricing table to choose a membership subscription plan.

      1. Interesting, thanks for reporting back!

  33. Hi Beka –
    Thanks so much for all of your fantastic articles and guides. You’re a bright shining light for do-it-yourself entrepreneurs like myself. I’ve arrived at the PMP/WooCommerce/WooSubscriptions/Stripe a bit late. I originally set up my site to use PMP with PayPal Pro for recurring payments, but decided to go with PMP/WooCommerce/WooSubscriptions/Stripe because of the features, mature integration, strong support, ease-of-use and because of some PayPal limitations on transaction amounts.
    My questions:
    1 – If I’ve already set up PMP to use PayPal Pro, do I somehow need to “undo” those settings in PMP when I set up WooCommerce/Subscriptions and Stripe? Or will these settings in PMP be overridden by PMPWocmmerce add on? Your article covers what happens at the time of installation but I’m unclear about changing course after an initial set-up.
    2 – If I previously allowed PMP to automatically generate pages (checkout, membership levels, registration etc) will I need to somehow “undo” that action (by deleting or redirecting those pages) to properly set up WooCommerce/Subscriptions and Stripe or will these pages in PMP be overridden by the PMPWocmmerce add-on?
    Thanks again for all the help and info. You’re awesome ๐Ÿ™‚

    1. Hey Mel, so happy to hear you’ve enjoyed reading our posts! RE (1): You’d probably have to migrate these subscriptions to WooCommerce, or request that customers cancel and renew using your WooCommerce checkout instead (so Subscriptions is processing these instead of PMPro). I’d recommend migrating so customers don’t have to take any action, but this would require the help of a developer.

      RE (2): I’d recommend setting up redirects to send those pages to your new WooCommerce product pages. You’ll want to sell the memberships as WooCommerce products now, and PMPro will just handle the content restriction behind the scenes. I use the Redirection plugin for this kind of stuff.

      1. Thanks so much Beka! That all makes perfect sense and I’ll give it a shot ๐Ÿ™‚

  34. Hi Beka,
    How can I remove decimal value from front and back end when i set membership price level to Euro 250 it set it again 250.00 Euro. Is there a way to remove that decimal value and after value like (.00)in back and front end. I just need an integer value.


  35. Hi, good guide…followed it after summer 2014 and used it successfully…then IE9-users startad complaining they could not get logged in…ok, they did not have the latest version…then more people got problem and now it is impossible. No one except the administrator seems to have access to restricted content.
    I have re-installed, stripped everything down, started all over. But can’t get neither new or old subscribers to be able to log in AND get access…it’s just a loop. Can’t even assign a level to a user and make it work. So I am starting to believe there is some major bug inside Paid Membership Pro since it hasn’t been updated since November – or is it something in the integration with Woocommerce that is new?
    Do you know any other memberships plug-in that works with woocommerce subscriptions where you can let non-members see the excerpts? Groups hides it all (and really slows down everything).

  36. Beka,
    You have literally saved my life! I have been trying several premium plugins and free ones as well, but none could be as perfect for what we need than this combination! I’ve been having anxiety attacks and crying over this project, but with this combination, its perfect! Thank you so much!!!!

    1. you are quite welcome ๐Ÿ™‚ . Glad you’ve found what you needed!

  37. Hey Beca,

    You have suggest in the article “That registration button will send users to the PMPro membership registration page / checkout flow, which weโ€™re avoiding. ”

    I am not able to do this step . Kindly tell me where to go and change code so that my customers go from PMPro to woocommerce platform.

    Thanks & Regards

  38. Beka,
    I just reviewed this complete stream and really dig what you are doing here. I am having some issues and am fairly certain the solutions are simple and straight forward. Just can not figure out what is up.

    I have established two Membership programs with one delivering a 25% discount and one delivering a 40% discount and this level of working with PMPro and PMPro WooCommerce seems pretty straight forward. The two memberships both show up as a product etc. so seems pretty good up to this point.

    I see where PMPro WooCommerce is in the individual product matrix in woocommerce and that appears to be straight forward as well as the Global discount option in the PMPro Membership program for the individual programs. Also, I have set these global discounts in that field.

    The last issue appears to be this: We can not figure out how to have the discounts apply to ALL products in the shopping cart when a Member or True Member (our two member programs) customer orders on line. We can not figure out how to have the discounts apply globally.

    Your help and feedback will be greatly appreciated and help deal with my level of frustration.

    Thanks and keep up the good work. I am following you now.

    1. Hey Ron, the global discount should do this, as the discount should apply to any product when that member is logged in. I’d recommend getting in touch with the PMPro team or perhaps checking out their support packages if this continues to become an issue, as what you’re describing is how the member discount is intended to work.

  39. I just want to say a huge thank you. I’ve been stumped as to how to get this set up…even paid for support at PMP and this wasn’t explained well enough to enable me to do this. Brilliantly written for a non techy person like me. I can now finally launch my website ๐Ÿ™‚

    1. Happy to hear it Michelle ๐Ÿ™‚ you’re welcome!

  40. Hello Beka…
    great article. one question of which the answer i may have missed…
    can the customer make multiple purchases to be assigned multiple groups/levels/whatever?


    1. Hey Giovanni, I’m afraid Paid Memberships Pro isn’t meant to be used with multiple memberships, but there are workarounds. The WooCommerce Groups integration can be used with multiple memberships, and there’s a dedicated WooCommerce membership plugin coming out within the next few weeks that allows multiple memberships (disclosure: I work for the company that built it).

  41. Please help ,
    How to create Free Plan in PM PRO. Price for that plan is 0

    and how to set one time usage limit per user on that plan . i.e. one user can use that plan only one time.

  42. Hi,
    Can u share how to integrate PMPRO with WooCommerce and sell membership as woo products.

    I have the addon Paid Memberships Pro – WooCommerce Add On , but how to use it.

  43. Hi Beka,

    I have a quick question for you – I’m considering purchasing the WooCommerce Subscription extension in order to workaround the fact that when people miss payments through PMPro’s subscription/membership flow, content access is not revoked. Can you clarify for me, then, if someone misses a payment with a WooCommerce subscription payment tied to a PMPro membership level, will that person lose access to the members’ only content? If so, that would be awesome!

    Thank you so much for your help – I, like others, were astounded at the incredible support you’ve been showing people in the comment thread!

    Best wishes,


    1. Hey Logan, thanks so much for the kind words ๐Ÿ™‚ happy to help out! It looks like they have code in PMPro-WooCommerce to handle cancelled subscriptions, which should revoke access. The new WooCommerce Memberships plugin also does this.

      1. Thank you Beka for your speedy response, and especially for linking me right to that section of code! I’ll explore both of those options – best wishes to you!

  44. Beka, I loved how well explained this article was. And also amazed that you’re still answering questions from the likes of everyone….now including me! Also, haven’t you been moonlighting, perhaps, at other sites? ๐Ÿ˜‰

    Your turning the membership into a product / subscription using woocommerce helped me do away with confusion that had the site create too many user account login pages. It was madness trying to get paying customers and staff to navigate around. Here’s what helped me, in case anyone else has the same trouble:

    I made only one kind of user account/login page for customers/members/subscribers. I used woocommerce account details to make an account page called account. I added PMPRO shortcode for the membercard and also Learndash shortcode for the course history. Site I’m working on had too many confusing user / login options and your explanation helped me cull it down. I also stopped the madness that Theme My Login was creating. Not playing well with other plugins.

    So now conundrums:

    1) how do I get sponsored members to work – so that a Platinum member who should get 5 single Cardboard memberships (not the real term, but hey it’s basic!) / coupon codes to distribute to his peeps so they can access basic Cardboard pages on my client’s site?

    1B) Can the codes be 5 different randomly generated ones so that Platinum Member’s people each have a separate code?

    The addon/plugin pmpro-sponsored-members is already installed and tweaked so that the sponsored levels and main levels are listed.

    2) now it seems when I check the members list (Paid membership pro link on the dashboard) that the new test customers are no longer listed as Platinum members, but as Customers. Would I need to incorporate Groups to get that functionality to work how I want it to? Or is that just a bunch of overkill?

    If you don’t reply, I understand…this post is ooollllld. But if you or anyone here has a tip or two, I’d love to hear it. Thanks!

    1. “Also, havenโ€™t you been moonlighting, perhaps, at other sites?” I’ve been known to write a post here and there ๐Ÿ˜‰

      1) Sponsored memberships are not easy since accounts can’t be linked together. I have a tutorial on that here.
      1B) Automatically generated the coupon codes would require custom code with the help of a developer, but they could be randomized.
      2) I’m not sure what that should look like honestly, as I’m afraid I’ve not used the sponsored members add-on.

  45. Hi Beka, I am developing a multimedia website for for selling membeship to access videos and music. Woocommerce is my choice because it has a checkout gateway in my currency Kenya Shillings and a Mobile outlet gateway accessible to majority of people in Kenya. How do i configure PmPro to use woocommerce gateway without taking me to its checkout? Thanks

    1. Hey Peterson, we’ve got some details here on tying memberships to WooCommerce products.

  46. This thing is not working on my end.
    how to set the products only available on selected level ?

    Membership level 1 – $45
    Membership level 2 – supposed to be unavailable .

    But the product is showing as free on Membership level 2 instead of not available how to fix that ?


  47. Pramod Ranpariya August 3, 2015 at 1:31 pm

    Hello all,

    I have questions of developing my requirement with woocommerce + paid-memberships-pro

    Can anyone suggest me well steps what I need to apply in plugin settings? and which plugins are required?

    Look example of my requirement:

    Product Detail Page:

    1) Student Profile Membership

    Subscription price selection from dropdown or similar something else:
    1) 19.95/1 Month
    2) 49.95/ 3 Months
    3) 179.95/ 12 Months

    Add to Cart

    2) UniversityMembership

    Subscription price selection from dropdown or similar something else:
    1) 19.95/1 Month
    2) 49.95/ 3 Months
    3) 179.95/ 12 Months

    Add to Cart


    Is there any way like this type similar ?

    Please response me as soon as possible.

    Thank you

  48. so finally i got the place to share my pain, Beka thanks for your support for the peaple in trouble, I am using the pmpro + woocommerce, everything seems good as far tying memberships with the product, after checkout orders are received, i have tested the live production as well as sandbox for paypal for test transactions, i can see the orders placed, but not with the status of completed, and i can not access the contents i have purchased the product for, even when manualy changubg the order status to complete the customer still cant access the restricted page of that membership level. plz guide where the problem could be

  49. Hi Beka,
    Thank you for a great article.

    Got a question though, I followed you description on how to Create a โ€˜For Membersโ€™ Price,
    It works fine on any product but another membership product.

    I would like a member to be able to upgrade and get a discount on that ๐Ÿ™‚


  50. I’ve had this article bookmarked for a few months now because it’s been so helpful in getting my mind to wrap around the possibilities Thanks so much! A question popped up that I can’t yet answer – perhaps you or someone in this forum can….

    If we bypass the payment section in PMPro, but are still using the membership part of it, can we also expect emails to be issued when a subscription is about to expire? I’m assuming this would be handled by paid membership pro. But not sure this would work since knocking out the payment option.

    Thanks again!

Comments are closed.