Read on to see what our development team and external developers have contributed to our open source platform in the month of September. This post contains release notes for Paid Memberships Pro Add Ons recently updated.
Approvals | Auto-Renewal Checkbox | Gift Levels | Strong Passwords | Reason for Cancelling | Roles for Membership Levels | WooCommerce Integration | Zapier Integration

How to Update PMPro Add Ons
Navigate to Dashboard > Updates in the WordPress admin to update Add Ons in your membership site. A valid license is required to update some of our premium Add Ons. Be sure to backup your site before performing updates and always update one plugin at a time so that you can isolate upgrade issues.
Approval Process for Membership v1.4.1
Set up a unique approval or application process for your membership site. This plugin gives membership site administrators the ability to approve or deny members.
- ENHANCEMENT: Added $level parameter to the
pmpro_approvals_member_denied_email_data
filter. - BUG FIX: Fixed an issue where pending members were automatically approved when checking out for the same level multiple times.
- BUG FIX: Fixed an issue where Register Helper Fields that show up for certain levels would cause other custom fields to be hidden from the view info of the Approvals page.
- BUG FIX: Fixed issues where approved members would see content for non-members shortcode.
Auto-Renewal Checkbox v0.3.0
Allow members to opt-in to automatic renewals via a checkbox on the Membership Checkout page.
- BUG FIX/ENHANCEMENT: Updated the “cancel on next payment date” logic to work how the latest version of the CONPD plugin works. Will also use the CONPD plugin instead of the included code, if the CONPD add on is active. The CONPD Add On will be merged into PMPro core sometime in the future.
- BUG FIX: Fixed some localization issues.
- BUG FIX: When a discount code is used, this plugin will NOT try to adjust the level at checkout to be recurring or not. Instead, it uses the settings from the discount code. We fixed an issue where the plugin sometimes DID try to adjust the level in these cases.
Gift Levels v1.0
Sell a gift certificate for membership to your site. This plugin generates a unique gift code for the gift recipient to claim their membership account.
- FEATURE: Gift levels can now be configured on the Edit Level page.
- FEATURE: Users can now enter a recipient email address during checkout to send a gift code to.
- FEATURE: Added email templates for gift checkouts (both user and admin) and for gift recipient emails
- ENHANCEMENT: Added filter
pmprogl_gift_code_purchased
(Thanks, Mirco Babini) - ENHANCEMENT: Gift code data is now being stored in order meta
- ENHANCEMENT: Admins can now see the gift codes that a user has purchased on the Edit User page or by editing a discount code
- BUG FIX/ENHANCEMENT: Added warning if membership level is set up with recurring payment or expiration date and gift level in GUI
- BUG FIX/ENHANCEMENT: Gift levels are now immediately removed after checkout for all users (Thanks, Mirco Babini)
- BUG FIX/ENHANCEMENT: Moved gift level confirmation message to end of checkout email (Thanks, Mirco Babini)
- BUG FIX: Fixed issue where purchasing gift level with Stripe could set an expiration date on previous membership
- BUG FIX/ENHANCEMENT: Now clearing cached membership levels after removing gift level (Thanks, Mirco Babini)
- BUG FIX: Fixed issue where gift code may not be generated at checkout with specific gateways (Thanks, knit-pay on GitHub)
- BUG FIX: Fixed PHP notice (Thanks, Mirco Babini)
- REFACTOR: Broke code into separate files
Strong Password v0.5.0
Require members to use “Strong” passwords based on required characters.
- ENHANCEMENT: Added new filter to allow less required characters for site’s using the custom password checker
pmprosp_minimum_password_length
. - ENHANCEMENT: Update the Zxcvbn library to support PHP 8.0.
- BUG FIX/ENHANCEMENT: Fixed JavaScript warning for WordPress sites on 5.5.0+, support the newer method userInputDisallowedList.
- BUG FIX/ENHANCEMENT: Fixed issue for sites running PHP 7.2 or lower. New requirements for the Zxcvbn library requires PHP 7.2+, older PHP versions will run our custom checker.
Reason for Cancelling v0.2.1
Require members to provide a reason for leaving before they can cancel their membership.
- BUG FIX/ENHANCEMENT: Now ensuring that
levelstocancel
URL parameter is set when cancelling a level.
Roles for Membership Levels v1.4.1
Adds a custom WordPress Role for each Membership Level. Membership Level settings allow you to specify the single role or multiple roles to assign to members of the level.
- SECURITY: Escaping and stripping slashes of text.
- ENHANCEMENT: Improve UI and UX of role selection in the level settings page.
- ENHANCEMENT: Improved coding standards and legibility of functions.
- BUG FIX/ENHANCEMENT: Improved handling of default roles in certain cases (i.e. default role was selected).
WooCommerce Integration v1.7.3
Integrates with WooCommerce to sell Memberships as a product, set a global % discount on products by level or set a per-product members-only price.
- ENHANCEMENT: Tested up to WooCommerce 5.6.0.
- ENHANCEMENT: Added support for time in expiration dates when extending or renewing a level and checking out for a new membership level.
- BUG FIX: Fixed an issue where variation prices would show twice if the min and max price was identical. (Thanks, ArdiNEC on GitHub)
- BUG FIX: Fixed an issue of a non-numeric warning value when discount was empty.
- BUG FIX: Fixed deprecated function warnings.
Zapier Integration v1.2.0
Integrate activity on your membership site with hundreds of other apps via Zapier.
- ENHANCEMENT: Add
first_name
andlast_name
variables to after checkout trigger. - ENHANCEMENT: Added functionality to regenerate api key as admin. Add
?pmproz_generate_api_key=1
to a URL while logged-in as admin to regenerate api key. - ENHANCEMENT: Added localized date function. Date formats are now translatable.
- ENHANCEMENT: Improved localization for missing strings and wrong text domains.
- BUG FIX: Fixed an issue where the API key was regenerating whenever settings were saved.