Membership plans dictate how WooCommerce Memberships should restrict content and apply membership perks, such as discounts, for members and non-members.

Plans can create access rules for posts, pages, products, and other content/custom post types, such as portfolio items (depending on how this content is created). Access rules can determine whether all users or only members have access to content, and when access is granted to the member, as content can be dripped (scheduled).

Plans can also grant member discounts in terms of amounts or percentage for all or some products.
If content, products, or discounts are available as part of a plan, this content will only be available to active members. Expired, paused, or cancelled members do not have access.

Create a membership plan

Plans can be created from WooCommerce > Memberships > Membership Plans.

WooCommerce Memberships add plan

Note that the options shown below relate to using Memberships when WooCommerce Subscriptions is not in use or activated. Additional settings will be available if WooCommerce Subscriptions is active, and if a plan is accessible by purchasing a subscription.

Please see the Subscriptions integration document for more details on additional Subscriptions-specific settings.

General plan data

General plan data will allow you to set up membership access and expiration.

WooCommerce memberships: general plan data

Enter a name for your membership plan for your reference, then complete the general plan data.

  • Slug – (optional) Set a slug to refer to your membership plan (can be used with the available shortcodes). If you do not set a slug, one will be generated from the name.
  • Grant access upon – Select how members should gain access to this plan:
    • manual assignment only – Only add members via the admin. Members can always be added manually, regardless of how access is granted; selecting this option ensures that admin action is the only way members can be created.
    • user account registration – Creates memberships for this plan when a new user registers for an account on your site. Acess is granted for any registration (e.g. WooCommerce checkout, WordPress registration, or account). Can be used for free memberships.
    • product(s) purchase – Creates memberships via a product purchase.
  • Products – (Shown if access is granted via product purchase) Select which product(s) can be purchased to gain membership access. You can add 1 or more products, and the purchase of any selected product will grant access to the membership (helpful if you offer both a monthly and one-time purchase for a membership).
  • Membership length – Select whether the membership is unlimited (never expires) or specify a length. You can set a membership length in terms of days, weeks, months or years, i.e., “7 days”, “6 months”, or “2 years”. You can also set a length in terms of fixed dates, such as from January 1, 2017 to December 31, 2017.
    The membership will expire after this length or end date, and customers lose access to membership content. They can renew the membership by repurchasing.

Notes on granting accessGrouped products cannot be used to grant access to a membership, as it’s not clear which child products in the group are required to gain membership access. Instead, you must select a product, a product variation, or a subscription to grant access to the membership (though this product can be in a group).
Multiple products can grant access to a membership, but the purchase of only one of these is needed to gain access. You cannot require that several products be purchased for access.

Restrict content

The “Restrict Content” tab of the Membership Plan Data will allow you to set content restriction and dripping rules. You can restrict all posts of a certain type or all pages easily by leaving the “Title” field blank, and can determine when active members should have access to restricted content.

Please note that adding any content restriction rules here will mean that content is no longer public, and cannot be viewed by non-members.

If a post is not tied to any membership restriction rules, it will be public. Once you add any content to a membership plan’s rules, that content is no longer public, and will abide by the restriction rules you’ve set (i.e., which membership plans have access and when).

We have more details on which rules supercede others in our document on restricting content.

WooCommerce Memberships: Add plan restrictions

For each piece of content you’d like to restrict, select or enter the following:

  • Type – Select the type of content to restrict: page, post, custom post type, post category, post tags, or custom taxonomies. Posts, pages, categories, and tags will always be available for restriction, and custom content will be automatically detected.*
  • Title – The name of the post, page, or taxonomy (category / tag) that should be restricted. If you leave this blank, all posts for the selected type will be restricted. For example, if type is “Posts” and this field is blank, all blog posts will be restricted.
  • Accessible – Determine when a member should have access to this content. “Immediately” grants access as soon as the membership starts, while “Specify a time” sets up content dripping and will let you determine how long a customer must be a member before gaining access.
    For example, if access is granted after 3 days, then a customer can’t access content until the third day of the membership (starting at midnight, server-time).
  • In our example screenshot, we’ve activated the free Projects by WooThemes plugin, which lets you create portfolio items. This shows you that the “Projects” content can be restricted, or the “Project category” taxonomy can be used to restrict content as well.

Custom post types from other plugins should be detected automatically and available for restriction rules. If you do not see custom content appear for restriction, this content is not a custom post type, and cannot be restricted by Memberships without a specific integration.

Restrict products

Product restriction rules are similar to content restriction rules: if you restrict a product or any product variations, non-members can no longer access it the same way. Content dripping can be used here as well to delay access to a product until a customer has been a member for a certain length of time.

Product restrictions can take two forms – viewing or purchasing:

  • If viewing is restricted for a product, only members can view or purchase this product.
  • If purchasing is restricted for a product, non-members can view the product page, but only members can purchase the product.
WooCommerce Memberships: product restriction rules
  • Type – Select the type of content to restrict: product or product category.
  • Title – The name of the product or product category that should be restricted. If you leave this blank, all products (or products within the category) will be restricted.
  • Only Members Can – Determine whether you’d like to restrict viewing or purchasing the product. Viewing restrictions will also make products unavailable for purchase by non-members.
  • Accessible – Determine when a member should have access to the product(s). “Immediately” grants access as soon as the membership starts, while “Specify a time” will let you determine how long a customer must be a member before gaining access. For example, if access is granted after 3 days, then a customer must be a member for at least 3 days to access the product.

Add plan discounts

Active members can have access to discounts as membership perks. You can configure discounts for a product or products, for all products (global), or for a category of products.

WooCommerce Memberships: Add member discounts
  • Discount – Select whether the discount is for a product / group of products, or for a product category / group of product categories.
  • Title – Enter the list of products or product categories to which this discount will apply. If left blank, it will apply to all products (if discount is “product”) or all products in the category (if discount is “product category”).
  • Type – Select % if the discount represents a percentage off the product price. Select $ if the discount represents a set amount off the product price.
  • Amount – Enter the amount for the discount, i.e., the percentage or dollar amount off the product’s price.
  • Active – Enable (checked) to make the discount currently active for members. Disable to deactivate the discount.

Product discount shortcodes

We offer two shortcodes that target products discounted by a membership plan. With these shortcodes, you can:

  • Display the discount for the specified product.
  • Display a message if the product is discounted.

These shortcodes can be used strategically to illustrate the benefits of membership to both entice non-members and retain existing members!

Display Product Discount

If you want to display a product’s discount, you can do so with the [wcm_product_discount] shortcode.

You can include several attributes with this shortcode make it more specific. These attributes can be combined to return very specific discount details. If these attributes are unspecified, the shortcode will return the discount offered for the current product by all plans.

Discount for a Specific Product

Use the id attribute to return the discount for a specific product.

[wcm_product_discount id="123"]

To find the product ID, go to the Products page and hover over the product in question. The ID will be displayed next to the Edit, View, etc. buttons.

Discount from a Specific Plan

Use the plan attribute to return the discount offered by a specific membership plan.

[wcm_product_discount plan="123"]

To find the membership plan ID, go to WooCommerce > Memberships > Membership Plans and select the plan in question. The plan ID can be found in the URL, for example:

Managing Discounts from Multiple Plans

For products that are discounted at different rates across different plans (e.g. Silver Plan offers 10% off, Gold Plan offers 25% off), you can use the display attribute to decide how Memberships should present the discount amount. You can use one of the following options:

  • max: Display the highest possible discount. If unspecified, the shortcode will display the max discount by default.
  • min: Display the lowest possible discount.
  • average: Display the average of the discounts offered by the included plans.
Discount Format Options

You can use the format attribute to display the discount as a fixed amount or a percentage of the normal price. You can use one of the following options:

  • amount: Display the discount as a fixed amount. For example, if the product costs 5.00 and the discounted price is 4.50, the shortcode will return 0.50. If unspecified, the shortcode will display the fixed discount amount by default.
  • percentage: Display the discount as a percentage of the original price.

Discounted Product Message

You can also use a shortcode to display a message when a product is discounted using the [wcm_discounted_product] shortcode.

You can optionally include two attributes with this shortcode to make it more targeted. If these attributes are unspecified, the shortcode will display if the current product is discounted for any plan.

Message for Specific Product

You can use the id attribute to display the shortcode message for a specific product.

[wcm_discounted_product id=123]This message will appear when product ID 123 is discounted.[/wcm_discounted_product]

To find the product ID, go to the Products page and hover over the product in question. The ID will be displayed next to the Edit, View, etc. buttons.

Message for Specific Plan Discount

You can use the plan attribute to display the shortcode message when the product is discounted for a particular plan.

[wcm_discounted_product plan=123]This message will appear when this product is discounted for plan 123.[/wcm_discounted_product]

To find the membership plan ID, go to WooCommerce > Memberships > Membership Plans and select the plan in question. The plan ID can be found in the URL, for example:

Enable the members area

Want to show your members a list of content, products, and discounts they have access to based on their plan? This is is exactly what the members area is for.

If you add any of the Members’ Area components to a plan, active members will be able to “view” the membership from the account to see what their membership grants access to in one area. If a membership is inactive (paused, cancelled, or expired), then the member area is not accessible.

Customers with multiple memberships will see a list of memberships from the “Memberships” account menu:

WooCommerce Memberships account membership listing

While customers with one membership will be take right into the member area for their active membership when clicking the “Memberships” menu item. In either case, once the member begins to view the members area, the account navigation is replaced with the member area navigation; members can click “Back to Memberships” or “Back to Dashboard” to return to the regular account area.

There are 5 components that you can enable or disable for the Members’ Area:

WooCommerce Memberships member area settings

  • Content – Displays a list of all posts, pages, and custom post types the member has access to or will have access to. Includes actions to view this content.
    WooCommerce Memberships: Member Area content
  • Products – Displays a list of all products the member can view and / or purchase, or will be able to view / purchase in the future. Includes actions to view products or add them to the cart (depending on if viewing / purchasing is yet available).
    WooCommerce Memberships: Member Area products
  • Discounts – Displays a list of all products for which the member has a discount. Shows the discount amount and adjusted price. Includes actions to view products or add them to the cart (depending on if viewing / purchasing is yet available).
    WooCommerce Memberships: Member Area discounts
  • Membership Notes – Displays a list of any member-facing notes (for which “Notify Member” was enabled) for the membership.
    WooCommerce Memberships: Member Area notes
  • Manage – Displays membership information and action links, such as a “Cancel” or “Renew” link.
    WooCommerce Memberships: Member Area details

If Subscriptions is used, the “Manage” section may also adjust to show subscription information and adjust which actions are available:

WooCommerce Memberships: Member Area details (subscriptions)

Configure email content

Membership emails must be enabled under WooCommerce > Settings > Emails. Once enabled, they’ll use the content you’ve set under the plan settings, and can use any of the merge tags in the email merge tag list.

WooCommerce memberships: plan email content

The Membership ending soon email is sent 1 to 60 days before the membership expires. We recommend including expiration information, along with a link to renew the membership if it’s purchasable:
<a href="{membership_renewal_url}">Click here to renew</a>
Quick Note: If you use a renewal link, since we know this email is going to the account holder (just like a password reset would), the renewal will log the member in when they click it if not logged in already. If a member forwards this email, the recipient can follow this link as well.
If this membership is free or non-renewable, you can let the membership know when the membership ends, and can also upsell premium memberships.

The Membership ended email is sent as the membership expires. This lets members know they’ve lost access, and is also a good way to provide a renewal link or upsells.

If the membership is non-renewable (manual assign only or registration-based), this is your last chance to communicate membership details with the member or upsell other membership.

The Membership renewal reminder email is sent for purchasable memberships. This email can be sent 1 to 60 days after the membership as ended as a “win-back” email or renewal prompt.

Membership plan statuses

Once you’ve finished setting up your plan, you should determine its status. If you’d like to save your plan, but do not want to activate any of the restriction rules yet, you should click “Save Draft”, or change the plan status to “Pending Review”. You can also change the “Published on” date for a future date, and click “Schedule”.

Any draft, pending, or scheduled plan will not be activated, and content restriction, product restriction, and discount rules will not be in effect. Once a scheduled draft is published, its rules are in effect.

If you’d like your membership plan rules to take effect, you can click “Publish” or schedule your plan for a future date to activate rules in the future. Plan rules will take effect once the plan is published.

Manage membership plans

After creating your first plan, you’ll need to manage or create more plans. You can edit, trash, or duplicate plans.

Duplicating plans

You may want to create more plans that are similar, but provide greater (or quicker) access to content. You can use your new plan as a starting point for another plan and duplicate it.

WooCommerce Memberships Duplicate Plans

When you duplicate a plan, all rules will be copied over, and you can edit the name, slug, and rules as needed to change the access or discounts granted.

Deleting plans

You will be unable to delete a membership plan if any members belonging to the plan have memberships with these statuses:

  • active
  • paused
  • complimentary
  • pending cancellation

If you find that you’d like to delete a plan, we recommend bulk-updating members’ statuses to expired or cancelled.

If a membership plan has no members, or all memberships for the plan are expired or cancelled, the plan can be trashed and permanently deleted.
Permanently deleting a plan will delete any user memberships associated with it.

WooCommerce memberships delete plan