Version 1.7 of Paid Memberships Pro is now available in the WordPress repository. This is one of the largest updates yet and includes the following new features and improvements.

Development Changelog for Paid Memberships Pro Release Updates


All of the PMPro code is prepped and ready for localization efforts. We are going to work with the great people who have reached out to us already and offered to do translations to get PMPro translated into Spanish, French, and other languages as fast as we can. We’ll be posting more information on how to provide a translation for PMPro, but in the meantime, if you are interested in helping us translate PMPro into another language, get in touch.

Add Ons

Beautiful add ons, on our site and in your dashboard with PMPro version 1.7. We’ve put a lot of the most useful plugins and code gists we’ve developed over the past couple years in one easy-to-access place. Check them out. I bet you didn’t know all of what was possible with PMPro. We will be moving the most popular of these plugins into the WordPress repository for easier maintenance and will be expanding the add ons list over time.


There is now a reports tab under Paid Memberships Pro in your dashboard. We’re launching with just one report, a report on visits, views, and logins sponsored by Chris Lema. We will be adding revenue reports and others shortly. If you have ideas for reports, let us know.

Webhook Support for Braintree

We’ve figured out the bug that was holding back full Braintree integration via webhook. You can now register your webhook with Braintree and it will create orders for recurring payments and notify you and your customers of missed payments.

For Developers

We’ve cleaned up the PMPro codebase a lot. And the way we built in addons and reports makes it very easy for us (and you!) to add your own to the plugin. If you’ve ever thought about contributing to PMPro, now is the time because we can get your addon front and center with all of our users.

Full List of Updates

* Ready for localization efforts.
* Addons tab in PMPro Settings in the dashboard.
* Reports page in dashboard with login report.
* Webhook code for Braintree Payments gateway.
* If PayPal Standard is the active gateway, users without membership levels will be able to see the confirmation page with a message that PayPal is processing payment.
* Fixed bug where PayPal recurring orders were being attributed to the wrong user (if no subscriber id was attached to the IPN message).
* Fixed bug where users sometimes couldn’t checkout with a discount code that made a level free.
* Cleaned up code in base paid-memberships-pro.php file.
* Updated the .pmpro_checkout tr.odd td line in frontend.css to use rgba with alpha transparency to work a bit better on dark background themes.
* Fixed bug where a user’s first_name and last_name meta fields might be overwritten by the billing name fields at checkout. It will still set them if the user’s first and last name fields are blank. (Thanks, John Hamlin.)
* Fixed bug where zipcode was shown instead of state in the members list CSV export. (Thanks, John Hamlin.)
* Fix to show discount codes on free trial confirmation emails if one was used.
* Added the pmpro_random_code filter so you can hook in and change invoice code/etc generation.
* Correctly padding zeroes on credit card expiration dates like 09/2013 when using Stripe. This SQL statement should fix broken entries in your orders table: NOTE (1) Backup your database first. NOTE (2) Make sure you change the table name to match your WP prefix,etc. >>> UPDATE wp_pmpro_membership_orders SET expirationyear = CONCAT(SUBSTRING(expirationmonth,2,1), expirationyear), expirationmonth= CONCAT(‘0’, SUBSTRING(expirationmonth,1,1)) WHERE expirationmonth > 12;
* Wrapped some AJAX and service calls code in init() functions so they will more consistently work with hooks/filters. (Before if PMPro loaded before a plugin or bit of code that added filters/etc, the filters wouldn’t get applied.)
* Fixed Stripe JS to also send city to Stripe. (This is important because Stripe doesn’t seem to show the address at all if the city is missing.)
* Added ‘pmpro_members_list_sql’ hook to filter the SQL used on the members list page and CSV export.
* Added ‘pmpro_members_list_csv_heading’ and ‘pmpro_members_list_csv_default_columns’ hooks to filter the default columns in the members list CSV. (e.g. to check role and remove columns)
* Added ‘pmpro_members_list_user_link’ hook to filter the link and username displayed on the members list page. (e.g. to check role and remove link to edit user)
* Checking that “status=’active'” when finding subscriptions to cancel when deleting a level. This will keep PMPro from trying to cancel someone more than once… or trying to cancel inactive subscriptions.
* Fixed bug where Sales Tax fields were hidden on the payment settings page if Stripe was chosen as the gateway.
* No longer logging IPN activity to logs/ipn.txt by default. (Uncomment the lines at the bottom of services/ipnhandler.php to use the log to debug.)

Was this article helpful?