How to set membership expiration dates on WordPress
WordPress does not include membership expiration dates by itself. Use your membership plugin’s expiration settings for fixed terms, or add custom development for date-based access rules. With Paid Memberships Pro, level expiration is built in, while fixed calendar dates require its Set Expiration Dates AddOn.
- 01Choose the expiry model
- 02Configure level expiration
- 03Set a fixed calendar date
- 04Edit an individual member
- 05Check access and reminders
- 06Use the fast way
What you need
- A WordPress membership plugin or custom development plan
- Administrator access to WordPress
- A clear membership duration or fixed expiry date
- A test member account
Choose the expiry model
Decide whether members should expire after a set period, such as 30 days or one year, or on the same calendar date, such as 31 December. These are different rules: a duration is calculated from signup, while a fixed date applies to members regardless of when they join.
Also decide whether renewal is manual or automatic. For a fixed-term membership, the member pays once, loses protected access at expiry, and renews through checkout. Recurring billing should not be combined with an expiry date unless you understand how your membership plugin handles both settings.
Configure level expiration
In Paid Memberships Pro, go to Memberships > Settings > Levels, then add a level or edit an existing one. In the level’s expiration settings, enable Membership Expiration and set the duration in the Expires In fields, such as 1 month or 1 year.
For a manual-renewal membership, set the initial payment and leave the recurring subscription option unchecked. Save the level, then check out with a test account to confirm that the expected expiry date is created.
Set a fixed calendar date
A standard duration is not enough if every member must expire on a date such as 31 December. Paid Memberships Pro’s core level settings calculate expiry from signup, so a specific or variable calendar date needs an add-on or custom development.
With the Paid Memberships Pro Set Expiration Dates AddOn, edit the level and use its expiration-date field. You can enter a fixed date in YYYY-MM-DD format or use date placeholders for rules such as the first day of the following year. The add-on overrides the level’s normal expiration period.
Edit an individual member
To change one member’s end date, go to Memberships > Members and open the member’s edit screen. In the Memberships panel, choose Edit Membership, set the expiration date, and save the change.
If the member has an active recurring subscription, do not change the local date without deciding what should happen at the payment gateway. Cancelling the subscription may be required if the member must stop being billed when access ends.
Check access and reminders
Test the complete expiry path with a test member: confirm the expiration date appears in the member account, protected pages stop being available after expiry, and the member can find the renewal route. Paid Memberships Pro’s account page can display active levels and their expiration dates.
Check the email templates and deliverability as well. Paid Memberships Pro sends an expiration notice before the end date, while additional reminder intervals require an expiration-warning add-on. Do not assume reminders are working until you inspect the email log or receive a test message.
Use the fast way
If you already use Paid Memberships Pro and need different expiry dates by level, individual member overrides, or fixed calendar dates, install and activate the Paid Memberships Pro Set Expiration Dates AddOn. Go to Memberships > Add Ons, install it, then configure the added expiration field while editing a level or discount code.
This is faster and safer than maintaining custom access checks, user metadata, scheduled jobs, renewal logic, and gateway cancellation rules yourself. The manual route is fine for a small site with simple fixed terms, but the add-on is the practical choice for calendar-based memberships and several membership levels.
Let Paid Memberships Pro Set Expiration Dates AddOn do it
Adds level-specific expiration dates, access changes, and renewal reminders for Paid Memberships Pro memberships.
Sources
- paidmembershipspro.com /renewal-guide/?utm_source=openai
- paidmembershipspro.com /documentation/membership-levels/initial-membership-level-se…
- paidmembershipspro.com /add-ons/pmpro-expiration-date/?utm_source=openai
- paidmembershipspro.com /documentation/admin/members-list/edit-member/?utm_source=op…
- paidmembershipspro.com /documentation/frontend-pages/membership-account/?utm_source…
- paidmembershipspro.com /change-level-price-existing-subscriptions/?utm_source=opena…
Questions
- Can WordPress set membership expiration dates without a plugin?
- No, WordPress core does not provide membership levels, protected content, or automatic expiry rules. You would need to build the system yourself by storing an end date, checking access on protected requests, changing membership status, and sending reminders. That can work for a bespoke site, but it is maintenance-heavy and easy to break when access and payment status need to stay synchronised.
- What is the difference between membership duration and a fixed expiry date?
- A membership duration counts from each member’s signup date, so a one-year membership bought on 10 March expires around 10 March the following year. A fixed expiry date gives everyone the same end date, such as 31 December. Paid Memberships Pro supports duration-based expiry in its level settings; fixed or variable calendar dates require its Set Expiration Dates AddOn.
- Can I set an expiration date for one existing member?
- Yes, if your membership plugin supports member-level editing. In Paid Memberships Pro, open the member under Memberships > Members, choose Edit Membership in the Memberships panel, set the expiration date, and save. If the member has recurring billing, also decide whether the gateway subscription must be cancelled so payments do not continue after access ends.
- What happens when a membership expires?
- The member should lose access to content protected by that membership level and receive an expired status in the membership system. They normally need to complete checkout again to regain access. Test this with a non-administrator account because administrators may still be able to view restricted content, making a broken expiry rule look correct.
- Why did a member keep access after billing stopped?
- Stopping recurring billing and expiring membership access are not always the same action. Paid Memberships Pro documentation notes that billing can stop while the member still retains access unless an expiration is also set. Configure both the payment behaviour and the access end date, then verify the member’s status after the final payment or billing cycle.