WooCommerce extension updates & releases

WooCommerce Memberships is over one year old now! We launched the plugin in June 2015 and has been a big hit ever since, rapidly becoming one of the most popular WooCommerce extensions.

We are happy to announce that Memberships 1.7.0 has been deployed, just a couple months later than Memberships’s birthday. This release represents the largest update since the first version! Keep an eye out in your dashboards for the update, which should be out today.

First, a bit of background

When originally conceived, the original Memberships plugin development took about one year to complete, from planning to version 1.0. While restricting content to members may very simple and straightforward at first, this concept quickly becomes complicated when we consider how WooCommerce, and how WordPress work: this plugin would have to sit in a much bigger ecosystem and open to unpredictable customization, and would have to work in a variety of environments and conditions. Inevitably, it’s impossible to predict all of these, and that’s where customer feedback comes in.

Sometimes we know that a feature should be included, but there is often a variety of ways this could work. We need to know how customers are actually using the product before adding a feature. Just like a carpenter needs to take measurements before making a cut just once, software developers need to do careful planning before releasing new code: it’s much harder to change after you’ve released a feature and committed to supporting it.

The latest version of Memberships released today includes several features that have been frequently requested over its first year. To build these features, wanted to be sure we had an informed view of how they work.

As a result, this release contains several new features at once. This was partly due to several changes being interconnected, which prompted the opportunity to work at more than one feature at the same time, and partly due to our necessity to pave the way in our future releases to work from a better-articulated codebase.

This is an important Memberships update and we recommend backups as well testing on a staging site before updating.

Now let’s talk about what’s new!

Membership Emails

One of the most requested items on WooIdeas was to trigger emails to be sent to the customer when a Membership expires. So far, the only Membership email has been the Membership Note, which was sent to the customer when an admin manually added a note to the membership and ticked an option to notify the member.

We have now three more emails: “Membership ending soon”, “Membership ended”, and “Membership renewal reminder”.

WooCommerce Memberships emails

The three emails are scheduled around the expiration date of a membership, so if the membership is unlimited these won’t be used. Their settings can be tweaked inside the WooCommerce Emails setting page, while the content of each email can be defined inside each Membership Plan so it can be different.

The “Ending soon” email is sent before a membership expires to alert the member that is membership is expiring soon and s/he might lose access to restricted content or other membership perks. You can define a variable amount of days when to send this email alert, with the default value of 3 days.

WooCommerce Memberships Email Settings

Example: Ending Soon email

Right when the membership expires, another email can be sent: the “Membership ended” email. This can prompt the customer to renew his or her membership.

Since each plan or setup can have different conditions and offerings, the content of each email should able to respond to these circumstances. As such, each email message is defined as part of the membership plan. This way, you can write less generic messages for your member emails, and there’s no need to come up with any bulky customization for more segmented content (of course, template customization is always available if you need to do something more elaborate).

You can have some memberships upsell other memberships, or target renewal messages for the specific plan as desired.

WooCommerce memberships: email content per plan

Plan Email Content

You can also use merge tags to replace dynamically some content — a handy list of which will be shown at the side of the plan email content settings. A useful one is definitely the renewal url merge tag, which can let you add a link that customers can click to renew their membership. This link will automatically log customers in (since we’re directly emailing the account the membership was purchased with), add the product that grants access to their cart, and lead them straight to checkout.

The last email available is the “Renewal reminder” email.  Like the “Ending soon” email, this email has a “days” setting so you can customize the number of days after a membership expired when to send the email.

This email is conceived to try to win back a former member that hasn’t renewed promptly after expiration. So you can use the email as a marketing device or just a simply reminder that the customer can become a member again by purchasing another product, resubscribing, etc.

There are, however, memberships that can’t be renewed. When a membership can’t be renewed (it’s not purchasable), the renewal reminder won’t be sent. For example, manually-assigned, limited memberships that have no product that grants access will not send renewal reminders; there’s no product that customers can buy again to regain access.

With this new release of Memberships we added more access option to membership plans which can prompt this condition!

Free Memberships

Another request from our users was to enable more ways to let users grant access to membership plans. So far we had only two: memberships that were manually assigned by an admin and memberships created via users purchasing some specific product. With Memberships 1.7.0, we’ve added “free memberships”.

By “free membership”, we mean a membership that doesn’t need to be assigned by an admin but can be acquired by a shop customer by just signing up to the site, via account registration.

WooCommerce memberships free membership set up

Registration-based Memberships

When creating this type of membership plan, anyone who registers an account will get access to the plan (aside from shop managers and administrators, as they already have master access). This is useful if you want to create some kind of “Free Plan” that has limited access and perks, giving your customers a peek at your restricted content before they buy a product to get full access.

Since a registration-based membership cannot be renewed (as there’s nothing to purchase), this is also a great way to provide a “trial” membership that you’ll use to upsell other memberships.

We hope you will get more conversions with this plan and increase your sales, as well as creating a better experience for your customers!

Fixed-Date Membership Plans

Along with the Free Membership plans, we have introduced new combinations for setting the start and end date of a membership: fixed dates. You can now set the start and expiry date of a membership plan on a precise date of the calendar, regardless when the membership was purchased.

Since the start date can be set manually, this could affect membership access. If the start date is in the past, it won’t affect the membership access (it starts when the purchase is made); if the start date is in the future, though, it will delay the membership.

A delayed membership will mark all the content the membership would normally have immediate access to, as delayed access — as if you had ticked the option to grant access a few days, weeks or months after the start date. This access will therefore begin as soon as the start date is reached.

For example, let’s say you create monthly plans for each month of the year that start at the beginning of a month, and end on the end of it. If I purchase the plan valid for November only, and it’s still October, I wouldn’t be able to get full access to member content until November 1st. And then on December 1st, I would lose access again and never get it back again.

WooCommerce Memberships fixed date access

Fixed dates memberships normally can’t be renewed once expired: if the expiry date has been reached, there’s no point in renewing a membership that can be activated anymore.

Subscription installments

But wait, there’s more! Creating fixed dates membership plans prompted the addition of a feature made available when Memberships is used with WooCommerce Subscriptions. You have now the option to decouple the subscription billing cycle from the membership duration. ?

Until now, when the product that granted access was a subscription product, the user membership created would remain active as long as the subscription was kept active by paying the recurring bills.

Now you can enjoy a much wider range of possibilities! For example, you can create a Subscription product that has a quarterly billing for one year while the membership has a 3 year length. The membership won’t expire when the subscription ends, as the subscription has done its billing.

WooCommerce Memberships Installment plan set up

Subscription Access Selectors

And also, since you can define multiple products that grant access, and some of them can be subscriptions while others can be regular products, now you can choose to have different lengths whether the product that grants access is indeed the subscription or just a regular product.

WooCommerce Memberships: multiple access products

These new options allow store owners to create a new offering and might even prompt them to rethink their marketing strategy to win more customers that can access to membership perks with a lower barrier of entry.

For example, perhaps before you had a membership plan that demanded the purchase of an expensive product to get access; now you can use a subscription product and dilute the payment over a number of installations, which can make the offer more attractive to customers wary of spending a large sum upfront.

Manual Subscription Links

This is a small feature / tweak which was requested by users of Memberships and Subscriptions. Historically, when a subscription product granted access, we would automatically link the user membership created to the subscription upon product purchase. The subscription and the membership would become linked and the subscription status would trigger status changes in the memberships as well.

The only way to create this link was via purchase, so support for manually created subscriptions was difficult. If you manually created a subscription, you needed to also manually create the order record for it, then run the “Grant access” action for the plan to pull in new memberships (as “Grant access” checked orders for the membership product, not subscription records).

The feedback we’d gotten from users and developers was that they didn’t always want to create order records, and wanted a way to manually link a membership when manually creating a subscription record. While we still recommend using order records where possible, we also want to be sure we’re supporting edge cases due to imported subscriptions or manual subscriptions, so we’ve created a way to edit or add subscription links to memberships in the user membership edit screen.

You’ll find this new control right under the billing details, where you can add or remove a subscription link, as well as reassign (update) the membership to a different subscription. You can search for the right subscription by typing the subscription number or the subscription owner’s name in the “edit link” pop up box.


This can be a handy tool to make tweaks, fix errors, or handle things manually. It is also a tool that should be handled with care if you don’t want to create confusion among orders, subscriptions, and user memberships. We recommend to test its effects on staging sites first, especially if you’re not familiar with it or are a new user of WooCommerce Memberships. (Of course, you can always revert the changes by editing the link once again and restoring the previous setting.)

Contextually to this tweak, we also extended support to dynamically add, change, or assign subscriptions in the Memberships CSV import feature previously released in v1.6.0. You can now add a value in the subscription_id column that will look for an existing subscription and link it to the membership that is created or updated. We have updated the WooCommmerce Memberships CSV Import & Export documentation for this.

Exclude specific products and sale products from member discounts

Another useful tweak has been added to the member discounts feature of Memberships. Until now, when assigning member discounts to a plan, these would always apply to the specified products, regardless if they were on sale or not. When specifying all products or specific categories of products, there wasn’t an easy way to create exclusions.

Now we have two more settings to fine tune your plan discounts policies. One setting is found in the WooCommerce Settings Memberships “Products” tab, where you can set to exclude all products on sale from having member discounts applied.


Another setting is inside the Memberships plan in each WooCommerce product. From here, you can now individually exclude a product from member discounts, regardless of product settings or sale status. So, even if you add that product to a plan discounts (individually or because part of a category), the discounts won’t apply until you untick this exclusion setting from the product page.


WP-CLI support

The last feature showcased in this release announcement post is perhaps the one least noticeable from the end users’ perspective, but we are sure that there will be several developers and agencies that will find it useful when working on clients’ sites, as well as power users that manage their own server and want to have a quick overview of their Memberships installations from a terminal.

We added support to WP-CLI! To quote the WP-CLI project website itself:

WP-CLI is a set of command-line tools for managing WordPress installations. You can update plugins, configure multisite installs and much more, without using a web browser.

WooCommerce added support for WP-CLI in v2.5 – there’s an extensive set of commands which you can use to manage your WooCommerce installation, including orders, products, coupons and more.

Memberships WP-CLI is built on top of the WooCommerce WP-CLI implementation so you would have to execute commands always prepending “wc” to wp-cli commands. We currently support two main subsets:

wp wc memberships plan – to manage membership plans

wp wc memberships membership – to manage user memberships

WooCommerce Memberships CLI Support

There are different commands we support for both of these objects: create, delete, get, list, update, to which we can pass different arguments. The best way to learn how to use them is invoke inline help with the commands: wp help wc memberships plan and wp help wc memberships membership, or review our Memberships CLI Reference for additional details.

Rules are not currently supported while creating or updating a plan, but we are considering support for them in the future. We are always happy to help developers and agencies customize or manage plugins, so if you have requests on how to improve this console tool to make it easier for you to manage your WooCommerce Memberships installs, drop us a line or contact WooCommerce support!

Coming soon in the next major release

Memberships 1.7 has many changes under the hood. The Memberships emails scheduling feature required the replacement of our handling of expiration events with a brand new event scheduling system which we borrowed from Prospress’s Subscriptions: the Action Scheduler.

This was due to a scaling problem that WordPress cron system poses (it’s an interesting topic which we could cover in another post). By this release we also had to make several changes at the discounts and the membership plan length handling given the new features introduced here, while we wanted to retain backwards compatibility.

By Memberships 1.8, (our next major release), we have plans to overhaul rules and content restrictions parts, to address some issues and integrations or feature requests from our users. Feature-wise, we want to make changes in the Member Area, to accommodate for some tweaks and customization requested by our users, add some background processing for the membership plan grant access button and perhaps other tasks, improve the Memberships settings UI, and many more tweaks and updates. Overall, 1.8 will be a “polishing” release in which we will focus on improving Memberships performance as well as expanding the features we have already built so far.

Maintenance-wise, we have already started working on automated testing; this is a largely technical, but important aspect in a software product lifetime, and an essential step in a higher level of project maturity. Memberships now has a pretty large codebase, which means that if we want to make some tweaks or introduce new features, there are more moving parts affected by that change. We don’t want to introduce regressions, we want to be sure we don’t break things in new releases, and we want to be able to speed up our development cycle. Therefore, we need to have automated tests that run before each update so we are sure that we deliver a very stable product to our customers.

This is an exciting time for Memberships and we’re excited to continue working towards building one of the most popular and feature-complete Membership plugins out there for WooCommerce and WordPress alike!

Published by Fulvio Notarstefano

Fulvio is a WordPress engineer, and spends most of his time on new plugin development and updating existing plugins. You'll find him on the SkyVerge blog keeping you in the loop on what's new with our plugins, along with helping in your support threads.


  1. Hi,
    Some great, much appreciated changes.

    You do however need to reconsider the pricing strategy I think. There really should be a discount package for those of us (surely most) who buy the subscriptions plugin and memberships – it is expensive to buy both and renew both, but memberships is of limited use without subscriptions.

    • Hi Dale, I think this release shows Memberships does a lot without Subscriptions — expiration emails, registration-based memberships, fixed date memberships, set-length memberships…these are all things it doesn’t need Subscriptions for. Our user base shows tons of sites sell set-length memberships with manual renewals as many use Memberships alone. With everything it does on its own, we’re confident it delivers more than $16.50 $12.50 of value each month (and then $6 per month in value after the first year with renewals) 🙂

    • For general information purposes, I also side with the provider here. If the asking price at the current level is prohibitive, problem is with the buyer’s business model. Reason is simple: the amount charged for this plugin barely buys anywhere from 2-5 hours of programming time at most. Same for Subscriptions.

      Pretty much nothing useful gets done in a single standalone day of programming, so getting the functionality of both Memberships and Subscriptions for a year means we’re living in some rather awesome times.

  2. I appreciate the emails that get sent out to the customers, is there any way to CC the admin on those? We would want to now when a membership expires or is cancelled by receiving a notice via email. We have tried several other Woo plugins to tie it all together but nothing has worked.

    • Hi Roz, a quick clarification: these emails are sent for expired, not cancelled memberships. Cancellation notices are something we have on our idea board at present.

      I’m afraid WooCommerce doesn’t have a default way to add CCs to emails, but there are hooks available to do this via code. Here’s a general example that would add a couple recipients to all membership expiration emails, which could be adjusted with the help of a developer.

  3. Hey guys. Great work here.

    Talking about rescue e-mails, we were wondering about both Memberships and Subscriptions – is there a way to increase how many times failed payments are retried + reminder e-mails about failed payments sent?

    • Hey Leho, those emails are handled entirely on the Subscriptions side, so I’d recommend opening a help request so the Prospress team could point you in the right direction 🙂

      • Not sure why you would dodge the question from Memberships side. Are you saying that Memberships, when handling the sales alone, is already featuring multiple rescue retries?

        • Not dodging at all — Memberships doesn’t do anything with automatic payments on its own, so there’s no way for a failed payment to be related to Memberships. If you use Memberships by itself, it sells memberships tied to regular WooCommerce products, so there’s no recurring billing involved. As such, the checkout functions exactly as it does without Memberships.

          A failed payment / rescue retry is related to the recurring billing record / renewal payment, which is handled by the Subscriptions plugin and why Prospress would be best equipped to explain how it works — I’ve not dug into their retry system in depth myself.

          • Thanks. For some reason it didn’t click at the time that Membership doesn’t do recurring… duh! My bad.

  4. […] Memberships has been updated to version 1.7 to add tons of new features like expiration emails, registration-based memberships, fixed date […]

  5. I just tried out the Edit Link feature to re-establish a strangely broken Subscription link.

    The select box is confusing, because it seems to be looking for a post ID (11865), instead of the user expected subscription number (#7647).

    Post-save output is also displaying the post ID in the membership data box. Please advise?

  6. Hey guys, some changes with using get_posts() really early in Memberships 1.7 are causing Sensei to spit out loads of notifications. I’m fairly sure Sensei is at fault here and I’ve already filed a PR to fix it into better shape https://github.com/Automattic/sensei/pull/1546 But giving you a heads up here, if someone could take a look at and confirm that Memberships isn’t doing things inappropriately at that early plugins_loaded action stage. If Sensei is coughing on this, you might be triggering a bunch of other plugins to cough as well.

    • Interesting, we’ll have a look to see if there’s anything that can be done to harden this on our side as well, thanks for the report!

    • hey Leho

      not really a change but I think what prompted this was a bit of restructuring on the member discounts class which checks if a logged in user is a member. To do so it needs to query user memberships which are posts – this is done so we don’t have to have our discounts filtering to run for non members or logged out users

      from the stack trace you posted on Sensei GitHub repo I’d guess that is what caused the notices — which I feel sorry I didn’t catch during development

      I think this should be an issue to be solved in those plugins who may be incorrectly hooking pre_get_posts as you pointed in the pull request – however I’ll also check if I can delay our user member check a bit later to avoid triggering these kind of notices — especially if I find they occur also with other popular plugins

      many thanks for reporting this!

    • Hello again Leho,

      Memberships 1.7.1 which is released today should address this issue — still, it’s good if they handle their part on Sensei side — looks like Automattic is intentioned to breathe new efforts in Sensei development so I think the LMS plugin will see more bugfixes and better third party integrations as well in the near future

      Let me know if you have further feedback on this one and many thanks!


      • Fulvio, thanks for getting back to me with the nitty gritty. Would’ve replied sooner, but I’m not getting e-mail notifications from this blog, even though I signed up for them. I’ll try checking the “Notify follow-up by email” again to diagnose this.

        Yes I saw the mention in changelog. I don’t have Memberships git-managed yet, so can’t really comment on how robust the incremental update may or may not be. (Git-based release deliveries would be nice… I’m seriously thinking about creating automation for updating git repositories after updates have been auto-download for premium plugins. How desperate is that?)

        A few days ago I discovered that even 1.7.1 still broke FacetWP, which started thinking that wc_user_memberships was the main query. Fortunately the “Ignore irrelevant queries” block on https://facetwp.com/debugging-css-based-templates/ provided a remedy. This still resulted in several days of some functionality offline, because it’s damn hard to put your finger on which component update broke it.

  7. Hello there!

    Really helpful this update! Is there any way to send a test email?

    Thanks in advance!

    • Hey Carlos, I’m afraid test emails aren’t something we have support for at present — I’d recommend enabling one email (such as the “membership ending soon” email), then manually adding your own membership to expire just ahead of that schedule to check the email out. For example, if I set the email 2 days before expiration, then I would want to create my membership and set it to expire 2-3 days from now (I use our import / export functions when I test this to get the timing close to what I want, ie a membership that expires 2 days and 5 minutes from now).

      • Is there a way for admins of members that use a Manual renewal to generate a renewal invoice email to send to the customer using the Memberships admin area? What if they contact you and want you to resend their renewal invoice? I was thinking there would be a button or link to the checkout w/ the product in it or something to that effect but I can’t find any way to generate an email like you can in the regular Woo product admin area. I have both Subscriptions and Memberships running.

      • Hi there

        Any plans for the functionality to be able to test the new membership emails ( renewal etc) without having to tap dance around dates?

        How do we get it to actually send out if we do adjust dates?


        • Hey Mhluzi, sounds like the issue for you is with the fact that updating email settings won’t automatically update all of the already scheduled emails — is that right? This is definitely something on our radar, the issue we ran into is if the setting is changed, we can’t just update all existing events, too, as there could be thousands, and this would time out (we also need some logic on when date changes should now immediately trigger an email, ie the time period has shortened and the email should have already been sent based on the new settings).

          As a result, to update the already scheduled emails, we need some batch processing here to churn through all emails that are already scheduled so they’re properly updated. Coming in the next feature release, just required us to begin implementing background processing in Memberships which we hadn’t done before. Our goal is to bring batch processing to imports, exports, granting access for previous purchases, and to updates that affect scheduled events in the next feature release.

  8. hi

    i wish to buy this product but there is a huge problem when it comes to download limits. most if not all your other competitors, specifically YITH has option to limit the number of downloads per day across all downloadable products. Sadly this option even up to this release doesnt have it.

    Can i know why its not there and is it in the pipeline for version 1.8?

  9. Thanks for the great update! The free memberships option is very nice and helpful.

    Here’s a short request from my side that would help me a lot too (in the future) 😉

    It would be nice to have an opportunity, to change the excerpt length on the Memberships settings, if i choose “hide content only” or directly via the WP “read more” option in posts. It seems that the default settings restrict on 55 words, but that’s not flexible enough.
    I have seen a snippet on github to change the length, but it duplicates the “This content is only available..” message, when i set it to 200 words.


    • Hey Thomas, if you only want to change excerpt length, you could use WordPress core filters for this, as Memberships uses the WP functions to output the excerpt. Something like this is an example:

      function sv_custom_excerpt_length( $length ) {
          return 20;
      add_filter( 'excerpt_length', 'sv_custom_excerpt_length', 999 );
  10. Hey Guys!

    This updates is fantastic! I absolutely love the Memberships plugin – it has allowed our non-profit to move forward leaps and bounds, offering our members excellent e-benefits while giving them more control. Its such a robust system – I can’t believe its only been around for just over a year!

    I do have a major request for a feature update, and this comes from my members. We work with small to large organizations and their PAID membership grants them access to, among other things, submit events to our event calendar. The problem we currently have is that generally the Director of the organization is the membership account holder and they are not the marketing or events manager who will be adding events.

    So the director either has to give their login information to the correct person to access the event submission or I have to manually add that person to memberships with their own membership under the same organization name, resulting in multiple memberships for a single organization.

    Obviously this creates extra work for me now, and when the actual membership holder renews their membership (annually), I will have to go in and manually renew the other user’s membership so they maintain access. Plus the marketing/events person’s dashboard looks like they have control over the membership – so its a bit confusing.

    Is there any way you could work on adding a feature for a membership holder to grant access to multiple other users – like a person in accounting to pay the membership and a person in marketing to add events?

    • Hey Kristyn, thanks so much for the kind words 🙂 Glad to hear this is helping your business grow!

      “Group” or company memberships definitely a rough problem to solve, though this release definitely gives us some room to move forward. There are a couple suggestions I could make here:

      1. Since it sounds like your memberships are sold via Subscriptions, they have a “gifting” option that may work, which you can read about here, which would let the purchaser gift access to someone.
      2. However, it sounds like a purchaser may want to grant access to multiple people, in which case the above solution wouldn’t quite work. As a result, here’s what I think you could try — though please do this on a staging site if you have one! This is sort of an “undocumented” feature of Memberships that we haven’t done too much testing with yet:
      • When the purchaser buys a subscription, you could have them give you a CSV of who should have access (with name / email).
      • Use this CSV to upload it and create the memberships for the “child” members — use the subscription ID of the purchaser for all of them though (we just added support for importing subscription IDs) so they’re all tied to the same billing

        This would tie the “child” memberships to that original purchaser’s billing, meaning if it gets renewed, their memberships renew as well (has to be a subscription-tied membership plan obviously).

      This really only works if you use Subscriptions, as we’d need a billing record that associates all of these memberships to one another. If you’re not using Subscriptions and you’re only using manual membership renewals, then it becomes a more challenging concept of a “parent v child” user membership, as there’s no common thread to tie them together. We have some ideas on how this could be tackled in the future, so I’d love to see you vote for this here! We update the Woo Ideas we accept / start / complete them.

  11. Hi there

    Is there a way to give a user a specific role when they are granted or purchase a Membership?

    Thanks in advance!


  12. Hello! Do you know how print the discount_type or discount_amount in a custom archive products page?

    I want to show the discount_amount to no-members too.
    Thank you!

  13. Hello Miss. Rice. I have using version 1.7 of this great plugin and there is a problem for me. “Email Content” tab is missed from “Membership Plan Data” page.

    What can i do. Can you guide me?

  14. Hello Miss. Rice, again 🙂 . I am using Sensei. I need a way to add “My Courses” to “My Account” panel. Is there? please, guide me.

    best regards

  15. (1.7.2)

    Hey guys. Did my first Membership-based Discount today.

    To my dismay, testing turned out that people still on $1 Free Trial are getting the full 100% discount of the target product, meant for only active paid subscribers. This was tested via User Switching plugin, so I am seeing what the customer would be seeing.

    There seems to be no checkbox in the Discount configuration box that allows differentiating between subscription modes.

    Your thoughts?

    • Hey Leho, that sounds like expected behavior — currently you can drip content / product access until after a free trial period, but there are no dripping controls for discount access, so they don’t distinguish between free trials or not, all the plugin sees is an active member. Definitely a point that can be refined in a future release, just not something that’s available right now without customization.

      • Thanks. I’ll take a look into writing my own discount routine for this.

        • Sure thing, we’re going to look at this with v1.8 when we do some clean up of the rules class to add a checkbox when a plan is tied to a subscription — this would let you exclude the discount from trial periods. Not 100% sure if it will make it into that, but with some clean up of the rules logic I think we could add it then!

  16. Our company, StoryMoment.com, is built on top of Woo + Memberships. The trouble I’ve been running into is outputting the content that is restricted to members using php. For example, I can loop a cpt (episodes) but how do I only show the ones for the current user can access at this time (assuming delayed content)?

    • Hey Evan, I’d have a look at how the member area does this for the “My Content” section, or potentially use this template yourself — this outputs a list of accessible content for the member. It does include content the member will have access to at a later date, along with content accessible now.

  17. When is 1.8 going to be released?

    • Hey Greg, Memberships 1.8 is currently going to be a WooCommerce-compatibility release, focused on supporting WooCommerce 2.7 (due out in February). It has some of the refinements we’ve outlined here (improvements to discounts / discount rule application, which should make it play nicer with other plugins that heavily influence price), and version 1.9 will then focus on the remainder of the refinements we’ve talked about, such as background processing on some of the Memberships tasks (like retroactively granting access) and improving the settings screens.

  18. Hi there

    Not sure if I am missing something on the renewal side of things.

    How can we offer a discounted renewal option for a membership plan for active members if they can only renew once their plan has expired?

    So if we have a year long membership plan and then it gets close to a member’s plan expiring – how can they renew? They can’t seem to purchase the same plan again if it is still active – perhaps I am missing something?


    • Hey M, we don’t have an automated way to do renewal discounts in Memberships. We’ve recommended including a discount code in the “Expiring soon” email for this (limited to one user per user).

      If the member has a set-length plan, they can renew prior to expiry. This is not possible yet via Subscriptions, so a subscription-based plan can’t do this if I recall correctly.

      If you have a different set up, though, we’d be happy to take a further look for you and make some suggestions! Just get in touch via the help desk and we’d be happy to have a look 🙂

  19. Hi,

    Is there an option to send an email that notify users that they have accces to that plan? Now, the users don’t receive any mail regardint their acces.


  20. Hi, we own this plugin and I was wondering if it is possible to turn on reminder emails only for some membership plans, not all?

  21. Hi, Im not sure if I am misunderstanding something here,

    but the 3 email types you mention in this article,
    – Membership ending soon
    – Membership ended
    – Membership renewal reminder

    Dont seem to be possible to enable.

    I have setup a few membership signup products (each with infinite duration once user signed up)
    and 1 subscription signup product (connected to one of the memberships) that has x amount per year (as billing period) but because I dont want PayPal to send the ‘cancellation email’ on signup, I have also set the subscription to infinite duration (so long as that payment is in place) – and so the membership-subscription are linked to eachother)
    – I then manually assigned the linked membership plan to a member
    (which has placed an expiry date on the membership for that member (1 year) for them – but obviously does not have linked subscription payment plan (since I added it manually in the back end)

    After all of this I still cannot enable the 3 expiry warning emails.
    Please explain why, and how I can get these setup


    • I have setup a few membership signup products (each with infinite duration once user signed up)

      This is the issue 🙂 If the plan never ends, those emails are never going to be sent and are disabled for the plan (even if you’ve modified individual member info). Emails also only listen to membership end dates, not subscription or other data. We’d be happy to have a deeper look at your set up though to confirm if it’s working as expected if you can add a help request here.

      • Thanks for the response Beka,

        But as mentioned, the duration of the ‘Membership’ is supposed to be infinite for most websites classically isnt it? And it is the ‘Subscription’ it is tied to, that is time sensitive, and requires renewal to maintain access to that membership.

        If that is one of the primary functions of the Subscriptions plugin, why cant emails be sent to notify the user of their looming subscription renewal?
        Is it because Subscriptions cannot be manual (and will ALWAYS renew automatically? – in which case the ‘Renewal Completed’ email is expected to suffice in all situations)
        – and that Memberships are the only plan type that can be manual and therefore require email reminders?

        Basically, I thought everything could be manual (e.g. what if the first period of a subscription was initiated by Admin in the backend, and then the next renewal date is supposed to trigger the customer’s manual initiation of a payment plan down the track)
        – perhaps just confirm for me that there is no way to have any subscription intervals trigger an email to be sent also in case I need with my setup (e.g. via any code hooks, or zapier hooks, etc.)

        • the duration of the ‘Membership’ is supposed to be infinite for most websites classically isnt it?

          This is the minority of sites we see using the plugin at present — most sites limit the user membership length in some way.

          If that is one of the primary functions of the Subscriptions plugin, why cant emails be sent to notify the user of their looming subscription renewal?

          Since this is based on the subscription rather than the membership component, this would need to be handled in the Subscriptions plugin. An expiring subscription cannot be renewed early, so Memberships can’t sent an early renewal reminder here.

          perhaps just confirm for me that there is no way to have any subscription intervals trigger an email to be sent also in case I need with my setup

          This is correct if the membership is unlimited. This could be achieved by customization to override the current behavior, but that’s why we’d need to have a look to see how it’s currently setup to provide more details.

  22. I did not realise most people ended their memberships.
    Wouldnt most people want to retain a member indefinitely once they got them (as long as they were paying) – so wouldnt the norm be to simply ensure the subscription payment is up to date, and if so keep them on the plan.
    Why would I set the membership to end, if all I want is for members to keep up with their subscription, and otherwise maintain membership?
    (please confirm I shouldnt be setting 1 year on the membership also (instead of indefinite) – (if the subscription is yearly)

    • If you want the membership to continue with the subscription, that’s totally possible, you can do this by setting the membership access length equal to subscription length. However, my original note still applies then — as the membership doesn’t “end”, no membership emails regarding the membership ending will be sent.

      • Sorry if this becoming onerous, but to properly clarify,
        Then what is the difference between having:
        A) a membership set to 1yr – tied to a subscription set to 1 yr
        B) a membership set to indefinite – tied to a subscription set to 1 yr

        (both being set to have the membership linked to the subscription plan)

        Wouldnt both equally:
        a) Cancel access to the membership if the subscription did not renew after 1 yr (e.g. if the payment failed)
        b) Renew access to the membership if the subscription DID renew for another 1yr

        (please clarify how each are primarily different in this use case?)

        Thanks for any thorough clarifications, as this is still not clear to me (despite my thorough review of all WC documentation as well as your resources on the topic).

        Although PS
        I do understand what youre saying about if a membership never ends (via any mechanism, of which there are a number of methods), it will not trigger any impending ‘end of access’ emails.
        And that Subscriptions are not intended to notify the user of any renewal ‘tick-over’, until AFTER their next payment has been made (if the update renewal email is activated).

  23. Hi, very much appreciate this plugin. I’m currently building a membership site and am in the need of extending the email options to offer two additional ‘ending soon’ emails. Can someone help with this? Thank you in advance for your time.

  24. Must be on vacation … 🙁

Hmm, looks like this article is quite old! Its content may be outdated, so comments are now closed.