Description
Built on Paid Memberships Pro, the Set Expiration Dates addon adds a control to the members panel to set subscription expiration dates, allowing adjustment of when a membership access should end. It serves those working with temporary plans, time-limited campaigns, or classes with restricted access, keeping the expiration recorded within the membership flow without relying on external manual controls.
Main Features of Set Expiration Dates
- Expiration dates
Defines specific expirations for memberships managed in Paid Memberships Pro. - Dashboard control
Centralizes validity adjustment within the WordPress administration. - Access management
Links the membership end to protected content control. - Temporary flows
Supports limited duration plans, closed classes, or seasonal campaigns. - PMPro compatibility
Works as an additional component within the Paid Memberships Pro ecosystem.
Benefits of Set Expiration Dates
- More predictability
Reduces forgetfulness by recording deadlines directly in the membership. - Less external control
Decreases dependence on spreadsheets to track access expirations. - Timed access
Helps limit content according to the plan’s agreed duration. - Clearer operation
Makes it easier to monitor when each membership should expire.
Who Is Set Expiration Dates For?
- Those who sell temporary access to content, restricted areas, or closed communities.
- You who use Paid Memberships Pro and need to control expirations per membership.
- Those organizing courses, classes, or campaigns with a defined access period.
How to Download Set Expiration Dates
The Set Expiration Dates is available for download here at Ultrapack. After downloading the .zip file, install it via Plugins > Add New > Upload plugin, select the package, and activate it in the WordPress dashboard. Keep Paid Memberships Pro installed to use the addon.
Set Expiration Dates works as an additional feature for sites relying on memberships with defined terms. By bringing expiration control into the Paid Memberships Pro flow, the addon helps organize temporary accesses, reduce manual tracking, and maintain expiration rules easier to consult in the dashboard.
Frequently asked questions
Is Paid Memberships Pro Set Expiration Dates GPL-licensed?
Yes. Paid Memberships Pro Set Expiration Dates is distributed under the GPL (GNU General Public License). You may legally use, modify and redistribute it on as many sites as you want.
Can I use Paid Memberships Pro Set Expiration Dates on multiple sites?
Yes. You can install Paid Memberships Pro Set Expiration Dates on as many sites as you want. Only automatic updates through Ultrapack Auto Updater have a limit: from 3 to 80 sites, depending on the plan.
How much does Paid Memberships Pro Set Expiration Dates cost at Ultrapack?
Paid Memberships Pro Set Expiration Dates costs US$2.99 as a single purchase, and it is also included in the subscription plans starting at US$12/mo (VIP I).
Does Paid Memberships Pro Set Expiration Dates include updates?
Yes. The current version of Paid Memberships Pro Set Expiration Dates is 0.8.1, published at Ultrapack on Sep 30, 2026. Subscribers update straight from the WordPress dashboard with UAU (Ultrapack Auto Updater).
Is Paid Memberships Pro Set Expiration Dates scanned before publication?
Yes. Every version of Paid Memberships Pro Set Expiration Dates goes through a malware scan (ClamAV and YARA rules, at UltraHub) before it is published.
What changed in this version
Version 0.8.1 2026-09-29
- SECURITY: Improved sanitization and escaping throughout the plugin to resolve Plugin Check security findings. #55 (@dparker1005)
Version 0.8 2026-03-30
- BUG FIX: Fixed an issue where the expiration date was not being correctly set when using a discount code with a set expiration date. (@dwanjuki)
- BUG FIX: Corrected expiration date calculation for future-based rules. For example, "Y2-M1-01" now correctly resolves to "next year – current month – 01". Previously, it incorrectly advanced both the month and year (next month, next year). (@andrewlimaza)
Version 0.7 2024-04-24
- ENHANCEMENT: Support Paystack and PayFast payment gateway.
- ENHANCEMENT: Applied WordPress Coding Standards to code (improves readability).
- ENHANCEMENT: Improved support to show the expiration date when a discount code is applied.
- ENHANCEMENT: Moved Set Expiration Date settings to Expiration Date tab in the Membership Level settings.
- BUG FIX: Fixed an issue in some cases where the expiration date was losing a day.
Version 0.6.1 2020-01-19
- BUG FIX: Fixed issue where expiration dates might not apply accurately when using PayPal Standard.
Version 0.6
- SECURITY: Escaped text on output.
- BUG FIX: Fixed a warning if the level's expiration date was not set at checkout.
- BUG FIX/ENHANCEMENT: Added a wrapper function for the pmpro_ipnhandler_level hook to ensure correct arguments are passed into this hook. Thanks @aquiferweb.
- ENHANCEMENT: Stopped autoloading set expiration date option. This should improve performance for sites that have a lot of membership levels with a set expiration date.
- ENHANCEMENT: Added in "Set Expiration Date" to level's table in the admin area to easily see which levels have these options set.
- ENHANCEMENT: Show a warning inside the admin area, if a level has a past date set.
- ENHANCEMENT: Allow localization/translations. Thanks to @skotperez for the French translation files.
- ENHANCEMENT: Rebuilt logic around calculating date, supports multi-digit placeholders.
- ENHANCEMENT: Added new filters to allow developers to dynamically adjust dates: 'pmprosed_expiration_date_raw' and 'pmprosed_expiration_date'.
- = .5.1 =
- BUG FIX: Fixed issue where expiration dates like 2019-07-29 would be converted to 2019-07-31 when used.
- = .4.3 =
- BUG FIX: Added back the code to make sure dates like 2019-02-31 are converted to 2019-02-28
- = .4.2 =
- BUG FIX: Fixed bug where some dates were not correctly pushed to next month.
- ENHANCEMENT: Added ability to pass a date to pmprosed_fixDate to set expiration dates from instead of using current date.
- = .4.1 =
- BUG FIX: Better handling of Y1 and M1. A date like Y1-12-31 no longer is pushed out to next year.
- ENHANCEMENT: Created a test file here
- BUG FIX/ENHANCEMENT: Accepting Y1 and M1 in addition to Y and M in dates.
- = .3.1 =
- BUG: Fixed warning if the $level passed into the pmpro_after_checkout hook was empty.
- BUG: Fixed bug when using PayPal Standard.
- BUG: Fixed bug with dates near the end of the month.
- Now showing Membership expires on {date} and checkout page when a set expiration date is set. (Thanks, Tania)
- Fixed bug when applying discount codes
- = .1.1 =
- Fixed a warning.
- "Y" variable now starts from the next year if the expiration date has already passed.
- Initial commit.
Release notes published by the developer.
How to install
Automatic updates: this item is updated by the Ultrapack Auto Updater. With it installed, the new version shows up in your dashboard like any other WordPress update (how to set it up).
This item is an add-on for the Paid Memberships Pro plugin. Installed on its own it throws no error, but it does not work either.
- Install and activate the Paid Memberships Pro plugin before this one.
- Download the file
pmpro-set-expiration-dates.zip. - In the WordPress dashboard, go to Plugins > Add New > Upload Plugin.
- Select the file
pmpro-set-expiration-dates.zip, click Install Now and then Activate.
- Both stay active at the same time. Deactivating the Paid Memberships Pro plugin turns this add-on off with it.
- An add-on settings usually show up inside the main plugin screens, not in a menu of their own. If you find nothing new in the dashboard after activating, look there before opening a ticket.
Stuck on a step? Open a ticket telling us which one you stopped at.

UAU Ready