Version 1.8.11 of Paid Memberships Pro is out with a handful of bug fixes and a number of enhancements. Some of these enhancements support the “Multiple Memberships per User” addon that we are actively developing. We will be releasing more information on the MMPU addon specifically soon as it becomes ready for beta testing.
Please update Paid Memberships Pro from the plugins page of your WordPress dashboard. You can also get the latest version of PMPro here or version 1.8.11 specifically here.

The full list of updates is below.
- BUG: Fixed URL used when checking for addon updates.
- BUG: Now enqueueing the jquery.creditCardValidator.js file in Billing preheader.
- BUG: Fixed issues where PayPal IPN updates would sometimes log $0 instead of the actual billing amount.
- BUG: Fixed warnings in the PayPal IPN handler.
- BUG/ENHANCEMENT: Added pmpro_checkout_level filter and now using that filter to apply the_content filters to the level description at checkout. This allows you to turn off the the_content filters (e.g. processing shortcodes) by using remove_filter(‘pmpro_checkout_level’, ‘pmpro_pmpro_checkout_level’); in a custom plugin.
- BUG/ENHANCEMENT: Using the pmpro_confirmation_message filter on the confirmation page whether there is an invoice or not. Now also adding the the_content filters to the confirmation message. You can disable this by using remove_filter(‘pmpro_confirmation_message’, ‘pmpro_pmpro_confirmation_message’); in a custom plugin.
- ENHANCEMENT: Now tracking IPN event ids in order notes for recurring orders.
- ENHANCEMENT: Added pmpro_subscription_ipn_event_processed hook to IPN handler.
- ENHANCEMENT: Added pmpro_set_message filter to edit PMPro error messages. Passes the message and type.
- ENHANCEMENT: Now listing categories in hierarchical format in the Content Settings section of Membership Levels.
- ENHANCEMENT: Added pmpro_areLevelsFree() function to check if all levels in an array of levels are free.
- ENHANCEMENT: Added pmpro_getLevelsCost() – with an s – function to get the combined cost of multiple levels in an array.
- ENHANCEMENT: Added pmpro_getLevelsExpiration() – with an s – function to get the combined expiration text for multiple levels in array.
- ENHANCEMENT: Created the pmpro_getLevelAtCheckout function that modularizes some of the logic of creating the pmpro_level global at checkout.
- ENHANCEMENT: Added pmpro_members_list_user filter used on the admin members list and members list CSV export.
- ENHANCEMENT: Added a 4th parameter $cancel_level to pmpro_changeMembershipLevel(). If set, that level will definitely be cancelled locally and at the gateway. This parameter is also passed to the pmpro_before_change_membership_level and pmpro_after_change_membership_level hook.
- ENHANCEMENT: Added a new function pmpro_cancelMembershipLevel($level_id, $user_id, $old_level_status) that acts as a wrapper to pass the $cancel_level param to pmpro_changeMembershipLevel().
- ENHANCEMENT: Updated the cancel page on the frontend to support the Multiple Memberships per User addon. All memberships are shown. You can cancel individual memberships separately. The language of the confirm button mentions memberships vs account.
- ENHANCEMENT: Added pmpro_getMemberOrdersByCheckoutID($checkout_id) function to support Multiple Memberships per User and others using the checkout_id.
- ENHANCEMENT: Added a refund($order, $transaction_id) method to the PMPro_stripe class. This will be used by the Multiple Memberships per User addon and eventually used in other areas by the core pluginn.