WordPress Membership Website Tutorial

Jul 18, 2019 | WordPress Training

So, you’re ready to take your website to the next level, and build a WordPress membership website.

Building a WordPress membership website requires installation and set-up on one of the third-party membership plugins. There are dozens of great WordPress membership plugins available, both free and premium (paid), and which one will work best for you will depend on the features you need for your website.

For this tutorial, we only focused on free plugins, and choose the one that best meets our needs. The criteria we used for this choice is based on what we decided were the most important features for us.

The features we were looking for:

Create multiple membership levels

Allow creation of unlimited membership levels

Charge taxes / shipping with your membership

  • Ability to set up taxes on a state/province level
  • Shipping charges in case of goods being shipped for a membership

Integrate with email marketing software

Mailchimp, AWeber, etc.

Integrate with any theme

Simple integration with any free or premium WP theme

Set-up subscription membership levels

  • Daily, weekly, monthly, yearly subscription with automated renewals
  • Offer custom trial period
  • Set membership expiry date

Offer discount codes on memberships

Offer discount code promotions for membership / renewals, in $ or %

Content restrictions based on membership level

  • Full page restriction
  • Section of the content within a page/post to be restricted via shortcodes

Integrate with different payment gateways

Paypal, Stripe, Authrize.net, custom, etc.

Create custom member-only back end (Dashboard)

Custom member-only back end with navigation

Seamlessly integrate with WooCommerce plugin

  • allow discounted pricing of products for members (different pricing for different member levels)
  • integrate WooCommerce “my account” with members’ dashboard (single login for membership and products)
  • purchase membership products / packages via WooCommerce
After spending some time playing around with dozens of different WordPress membership plugins, we decided that the best FREE plugin for our purposes (based on the criteria above) was Paid Membership Pro which can be downloaded via WordPress.org plugin repository in your website’s back end (see below for installation instructions).

Free Plugin

Let’s be clear. There is NO such thing as a FREE plugin. Most of the free plugins and themes for WordPress are stripped down versions of their premium plugins. The Paid Membership Pro has the most complete free version of their paid “Pro” plugin, which will give you everything you need to run a membership website. However, once you see the amount of additional features with their “pro” version of the plugin, you will be soon itching to have those options… But, I digress… Let’s go back to discussing what is available for free, and how to set it up to run your WordPress membership website.


  1. In your WordPress dashboard, click on the “Plugins” tab > “Add New“.
  2. On the following screen, in the top right corner of your screen, enter “paid memberships pro” in the search box
  3. The “Paid Memberships Pro” plugin will be the first one to appear on your search result. Click on “Install Now” button
  4. Once the installation completes, click on “Activate” button
  5. Your plugin is now installed and ready to use. To access Paid Membership Pro plugin settings click on the “Memberships” tab in the left menu of your Dashboard
PMP Installation

Creating Membership Levels

Free version of the Paid Membership Pro plugin allows you to create unlimited number of membership levels. That is a feature that is usually not found on free plugins (most of them will limit the # of membership levels you can create until you upgrade to a paid version of the plugin).

Add New Membership Level

To create a membership level, click on Memberships > Settings > Levels > Add New Level:


Add New LEvel
On the next screen, fill out the following fields under their specific sections:
  • Name – The name of the membership level. This will appear on the signup page and member’s account information.
  • Description – The detailed information about the membership plan. It will appear on the signup page. Make it short and sweet, and clear what they are getting with their membership.
  • Confirmation Message – A message that will appear on the screen upon successful registration for the membership.

Billing Details

  • Initial Payment – the price of the membership that will be payable upon registration for the membership
  • Recurring subscription (checkmark) – if you select this option, the member will be registered for recurring subscription payments. The options are:
    • Billing Amoung [ amount you want to charge ] – Per [ payment cycle how often will the payments be charged ] – [Daily/Weekly/Monhly/Yearly]
  • Billing Cycle Limit – limits how many times the automated subscription will run. If you set to 0, the membership will be infinite (the cycles will go until the member requests the cancellation). If you set a number, the system will automatically stop charging the renewals after the # of cycles you set in this box. For example, if you have set the renewal cycle to happen 1 per month, and the Billing Cycle Limit to be 6, the automated renewals will stop after 6months.
  • Trial Billing Amount – you can also offer a “trial period” during which the member can pay either reduced or no subscription fee (used for promotions such as “Free 30 day trial).
The following settings will set-up a monthly membership that never expires (unless the member requests cancellation), for $19/month, with the initial setup fee of $49 and the first month FREE (trial period).  
Add New LEvel

Other Settings

In this section you can:
  1. Disable New Signups –  temporarily disable signups under a particular membership level without having to delete the membership level
  2. Membership Expiration – set an expiration timeframe (days, weeks, months, years). If selected, once a membership reaches this timeframe, it will be disable and any subscriptions will be cancelled. In the example below, the membership will expire in 1 year after the signup.
Other Settings

Content Settings

Categories – In this section you can assign a blog category to a particular membership level. The list of all blog categories will appear here. By default they are all left unchecked. If you check any category, all the blog posts in that category will ONLY be available to the membership level for which you select this category. screen-shot-2016-11-17-at-10-03-34-pm  

Set up payment gateways

Paid Memberships Pro plugin provides a number of payment gateways out of the box. You are able to integrate with the following payment processing services:

  • Stripe (Requires SSL encryption which is an extra cost unless your hosting plan does not include one with your plan)
  • Paypal (Express, Website Payments Pro, PayPal Pro, Paypal Standard) – Only “Paypal Standard” is a FREE Paypal Service and no additional cost is required to set it up. This tutorial will show you the steps on how to set Paypal Standard as your primary payment method (remember, I said in the title of this blog “Create your WordPress membership website for FREE”, so I’m sticking to the FREE options only).
  • Authorize.net (the biggest payment processing service online – requires paid account)
  • 2Checkout
  • Braintree Payments
  • Cybersource

Setup Paypal Standard

On the “Payment Gateway& SSL tab” of Paid Memberships Pro plugin set the following options:

  • Payment Gateway – Select “Paypal Standard”
  • Gateway Environment – Select “Live/Production” (set Sandbox/Testing to test the subscription process without having to make payments)
  • Gateway Account Email – enter the email account associated with your PayPal account
  • Currency – Choose the currency in which you would like to process payments (make sure you have a Paypal account that can accept the currency you select)
  • Sales Tax – Tax State [ enter abbreviated “US” state ]  Tax Rate [ enter DECIMAL value (“e.g. 0.06 for 6% taxes”) – Please note that this section ONLY works for US states. This is one of the BIGGEST issues I have with this plugin. To set up any other country’s tax rates, you will need to follow quite complex changes that need to be done in the source code of the plugin. But, it’s doable nonetheless.  But a massive PITA!!!  Click Here for the instructions on how to set taxes outside of the USA (You will need to create an account on their website or log in using your Google/Facebook account to access this page — As if they didn’t make it complicated enough already!!! Come on, guys!!!  The issues with taxes was the reason why I almost passed on this plugin. But, everything else that it provides and the fact that taxes can still be set up made me get passed it… but, COME ON!!!)… Sorry, I get carried away over stupid things like this (Note for Paid Memberships Pro developers – it’s illegal in many countries not to charge taxes for services rendered in that country (read: CANADA) and the complexity of setting up tax rates will make many users pass on your plugin. You’ve already have it working for USA states, it’s not that complicated to add Canada, Mexico at least for now… Oh yea, VAT for EUROPE!)… But,  I am getting off-topic again… ).  Oh, by the way, there is other work-arounds this tax issue – you can set up taxes to be charged in PayPal, or with a WooCommerce add-on which integrates purchasing of membership packages though the WooCommerce shopping cart, however, these solutions only work for initial one-time membership purchases, and not if you have a recurring subscription membership.  Enough about taxes – I’m getting all revved up here… Here’s hoping they make the tax setup easier in the future and I can delete this section of the tutorial…
  • Force SSL – unless you have an SSL encryption already installed on your hosting keep this as “NO”. It is not required for Paypal Standard payment processing. For any other Gateway, you will need to have an SSL encryption which has a yearly associated cost with it (unless your hosting company already includes it for free).


Add New LEvel

Creating Custom Members-only Area

The next step is to create custom members-only area (member’s account pages, front end registration pages, billing pages, etc.).

Simply navigate to “Memberships > Page Settings” in your WP Dashboard, and click on the link “automatically generate pages”. All pages will be auto generated by the plugin.

PMP Membership Pages Generation

Add membership pages to your custom menu:

  • Navigate to “Appearance > Menus
  • If you do not have a “Primary Menu” created, click on create a new menu, enter “menu name” and click on the button “create menu”
  • Select all pages on the left site “Pages” box EXCEPT “Membership Confirmation” and “Membership Checkout” (see screenshot below) and click on “Add to Menu” button
  • Arrange all the pages to be sub-menu items of the first page by dragging them in (indenting them under the main “Membership Account” page) – this step is not necessary but will look cleaner on your menu (this will make all the sub-pages appear in a pull down menu of your main navigation menu)
  • Click on Save Menu and now you can preview your membership website in the front end 
PMP Membership Pages Generation
PMP Membership Pages Generation
PMP Membership Pages Generation

Creating Restricted Member-only Content

Now that you have set up your membership levels, registration and member pages, you can now start creating content restricted only to your registered members.

Restricting the whole page

To restrict a whole page to be visible only by your registered members, please create a Page or a Blog Post and in the “Require Membership” box on the right side of the screen (near the bottom), select a membership level that should have access to the page.

PMP Membership Pages Restricting Pages

Restricting some content within a page

You can also restrict only a certain portion of the content within a page by using PMP shortcodes. See the screenshot below:
PMP restricting content within a page
Note: The ID of a specific membership package can be seen in the list of your membership packages under “Memberships > Membership Levels”
Membership ID

Membership ID

Integrate with WooCommerce

One of the best features of Paid Memberships Pro Plugin is its ability to seamlessly integrate with WooCommerce, the biggest shopping cart / online store plugin for WordPress. Once you integrate with WooCommerce you will be able to use all the WooCommerce features for your membership sales such as:

  • Sell your membership using WooCommerce checkout as a product
  • Assign specific global discount % on all items in your online store for your members
  • Assign specific price PER MEMBERSHIP LEVEL for all your items in your store

Install Paid Memberships Pro WooCommerce Add-On

To integrate Paid Memberships Pro plugin with WooCommerce, you need to have the WooCommerce plugin installed and set up first. If you do not, go to “Plugins > Add New”, search for “WooCommerce” and Install and Activate WooCommerce plugin. Then, follow on-screen instructions (wizard) to have it fully set up.

Once you have WooCommerce plugin installed and configured, you will need to install Paid Memberships Pro WooCommerce Add-On plugin. To do so, please follow these steps:

  1. Navigate to “Memberships > Add Ons” in your WordPress admin navbar.
  2. Scroll down until you find “Paid Memberships Pro – WooCommerce Add On” plugin
  3. Click “Install Now” link below the title:Paid Memberships Pro WooCommerce Add On installation
  4. Once installation completes, click “Activate” linkActivate Plugin
  5. That’s it, you have now fully integrated WooCommerce with your Paid Memberships Pro Plugin.

Creating Global % Discount for your members

Now you can go to your Membership Levels and assign a global % discount to all products in your online shop. To do so, go to “Memberships > Membership Levels“, select your level, and scroll until you find “Set Membership Discount” section. Enter the % discount in the box to give all members at this level a discount on all products in your online shop. This setting as set below will give 10% discount on all products for the members in my membership package:

Paid Memberships Pro Global Discount

Creating a specific product price for a member level

  1. Create a regular product as follows
  2. Go to “Products > Add Product
  3. Enter “Product Name”, “Description”, “Product Image”
  4. Then in the “Product Data” tab, select “Simple Product“, enter “Regular Price” (make it $39.99 – this will be the price non-members will pay for this products)
  5. Click “Publish” button
    WooCommerce Create Products
  6. Finally, Under “Membership Tab” of the Product Data section, enter the price for this item for each one of your membership levels. (in our example, we only have one membership level, and they will be able to purchase the book for $19.99 instead of $39.00 which was set up as a regular price in previous step.Membership PRice
  7. Click “Update” button

Selling Memberships Using WooCommerce

Now, let’s create another product, this time, it will be used as a Membership Product. When your customers purchase this product, they will automatically be assigned a membership level with which you associate this product. This can be used ONLY for one-time membership sales, and not subscription products.

  1. Go to “Products > Add Product” in your WordPress Admin Dashboard
  2. Enter “Product Name“, “Description“, set “Product Image” (enter information/details about your membership package)
  3. Then in the “Product Data” tab, select “Simple Product“, check “Virtual“, enter “Regular PricePaid Membership Pro - Sell Membership Via WooCommerce
  4. Finally, under “Membership” tab, select which Membership Level will be given to the customer who purchases this productPaid memberships Pro - assign a membership level to WooCommerce Product
  5. Click “Publish” button, and you’re DONE!

Congratulations! You have now fully integrated your Paid Memberships Pro plugin with WooCommerce.

If you would like to learn more about WordPress, everything from setting up your WP-optimized hosting server and domain name to advanced lessons like this one, please check out our Online WordPress Workshop where we help you launch our online business with WordPress in just 7 DAYS!

We offer fully-designed WordPress Website for only $199.  All you need to do is copy and paste your content and images, and you’ll be launching your brand new site in a matter of days!

Pin It on Pinterest

Have no product in the cart!