We’ve been crushing the v2.0 milestone this past month and are excited to bring you Paid Memberships Pro version 2.0. This post will detail the major features, bug fixes, and enhancements in the release so buckle up. It’s a biggie.
Watch the Video Demo.
Highly important and not-so-interesting stuff…
- Backup Before Updating
It’s a good idea to backup your site and database before upgrading PMPro or any large plugin. This is especially true for our 2.0 release.
While we have tried to maintain backwards compatibility and to make sure that there are no issues when backing up, this update touches a lot of areas of the code. Sites with custom plugins or a lot of PMPro add ons in particular could experience unexpected results that would prompt you to revert to your backup. (Get in touch with us to work out the issue as well.)
- Update PMPro Add Ons
Some of our Add Ons required fixes to work with the new dashboard layout or other features of PMPro 2.0. Be sure to update your PMPro Add Ons at the same time you update PMPro.
- Important Bug Fixes and Updates
The PMPro 2.0 release includes some bug fixes around when existing users checkout to renew or extend their membership level. If you’ve been noticing cases where existing users have their subscriptions cancelled soon after checkout or have expiration dates set 3 days in the future instead of one payment date as expected, then these fixes might be applicable to your site.
We have also updated our Braintree class to use the latest version of their library and fixed some issues there around processing recurring orders.
- How to Update
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 2.0 specifically here.
Okay… let’s get to the fun stuff.
New Dashboard to help you better manage your Membership Site.
Paid Membership Pro has come a long way in the last 7+ years. This update is the largest feature-rich update the admin area has seen. We’ve added a new Dashboard that gives you access to the most important actions for your membership site. The dashboard will help new Paid Memberships Pro sites get started with clear links to “what you need to do” on day one.
All of the Dashboard sections use the WordPress Meta Box functionality, so you can easily toggle their appearance and drag to reorder as needed. We’ve added a few key reports as meta boxes to give the site owner a high-level view of what’s going on in the Membership site. Meta boxes include:
- Sales and Revenue
- Membership Stats
- Visits, Views and Logins (now including more timeframes!
- Recent Members
- Recent Orders
- Paid Memberships Pro News and Updates
Reorganized Admin Area
The entire Memberships admin area has been reorganized to place a higher important on the tasks and reports that a membership site regularly needs to access. The update makes it faster and easier to access your list of Members, Orders and Reports.
We’ve moved all of the “Settings” type features into a single “Settings” tab. This includes your settings for Membership Levels, Discount Codes, Pages, Payment Gateway & SSL, Email, and other Advanced Settings.
Better Initial Setup Guide
New Blocks for WordPress v5.0 Editor
WordPress v5.0 just released and comes loaded with a completely new editing experience: the block editor. If you are planning to upgrade to v5.0 and use this editor (widely known as Gutenberg), you can now leverage 13 new blocks in Paid Memberships Pro.
We’ve included blocks to replicate the shortcode functionality for all of the core plugin’s Page Shortcodes as well as a block for the
[membership] shortcode and the
If you do not plan to switch to the block editor right away, you can install the Classic Editor plugin. This will disable the block editor.
Whether you are using the block editor or not, you’ll be able to continue to use all of the included Paid Memberships Pro page and general shortcodes. They can be used in tandem with the Classic Editor plugin, in the “Classic Editor” block type, or in the “Shortcode” block type.
Discount Code Management Improvements
This update also includes a good bit of improvement for Discount Codes. You can now manage and get reports for your discount codes in the following ways:
- Filter the View and Export Orders by Discount Code
- Duplicate a Discount Code
- Filter the Membership Stats or Sales and Revenue reports by Discount Code
- Edit the Discount Code used on a New or Existing Order
New REST API Routes
We’ve begun adding more support for the WordPress REST API, including routes for post membership access and user membership level.
Accounting for Known Incompatibilities
A few months ago, we published a big article on Page Builders and some known issues when using PMPro with popular builders. This update includes a new folder to store all of the supporting compatibility checks. We have included compatibility functions for Beaver Builder, Elementor, and SiteOrigin Page Builder. Our plan is to continue to add compatibility checks for other popular WordPress plugins with identified issues.
- SECURITY: Fixing how we escape things in the Memberships report SQL queries.
- BUG FIX: Fixed issue where code in the Stripe gateway was cancelling old subscriptions early if users renewed with a different gateway.
- BUG FIX: Fixed a warning on the Stripe Webhook service.
- BUG FIX/ENHANCEMENT: Removing unused images from core plugin.
- BUG FIX/ENHANCEMENT: Removed unused
- BUG FIX/ENHANCEMENT: Updated Braintree/PHP Library to 3.36.0
- BUG FIX/ENHANCEMENT: Prefixing Braintree plan name with
- BUG FIX/ENHANCEMENT: Better table naming in queries for Memberships and Sales reports.
- BUG FIX/ENHANCEMENT: Changing “blacklist” to “blocklist”.
- BUG FIX/ENHANCEMENT: Changing the appearance of the Discount Code “Apply” button on checkout to look more like a text link.
- BUG FIX/ENHANCEMENT: Now calculating the next payment date with time, not SQL.
- BUG FIX/ENHANCEMENT: Updated the pmpro_next_payment method of Stripe to check if a customer is delinquent to avoid returning a next payment date in the future if the last payment failed.
- BUG FIX/ENHANCEMENT: Saving user ID in MemberOrder when a user already exists and they are checking out via an offsite gateway.
- BUG FIX/ENHANCEMENT: Updating Stripe Webhook and PayPal IPN Handler to send the cancelled level ID for better cancellation emails.
- BUG FIX/ENHANCEMENT: Brought back the Stripe Billing limit warnings. Here is a plugin to get billing limits working with Stripe https://github.com/strangerstudios/pmpro-stripe-billing-limits/blob/master/pmpro-stripe-billing-limits.php
- FEATURE: Gutenberg / v5.0 Editor Blocks for Paid Memberships Pro pages, the Checkout Button and Membership “shortcode” functionality.
- FEATURE: Added new “Dashboard” page and adjusted the entire menu structure for “Memberships”.
- FEATURE: Created new compatibility checks and included compatability functions for Beaver Builder, Elementor, and SiteOrigin Page Builder.
- FEATURE: Added REST API routes for post membership access, and user membership level.
- FEATURE: Added option to include the level’s Confirmation Message in the Confirmation Email.
- FEATURE: Added a filter by discount code to Memberships and Sales reports.
- FEATURE: Added a filter by discount code to the Orders admin page.
- FEATURE: Added a “Copy” option to discount codes.
- FEATURE: Now allowing you to edit or add a discount code to a single Order edit.
- FEATURE: Added the ability to export orders by discount code used.
- FEATURE: Added new file for deprecated functions or hooks.
- ENHANCEMENT: Moved “Memberships” menu page up in sidebar below Comments.
- ENHANCEMENT: Replaced the Visits, Views, Logins report with the “Better Logins Report” Add On functionality.
- ENHANCEMENT: Updating reports that use the Google Charts library to use the updated chart library (corechart.js).
- ENHANCEMENT: Reports admin page is now loading reports via the
- ENHANCEMENT: Added ability to filter membership reports for free or paid levels only.
- ENHANCEMENT: Setting a default level at checkout so that the page doesn’t redirect to the Levels page.
- ENHANCEMENT: Showing the discount code used on the All Orders and single Order edit page.
- ENHANCEMENT: Added ability to filter Orders by Free (Orders equal to $0), Paid (Orders greater than $0)
- ENHANCEMENT: Now showing the Invoice’s Order Status on the Membership Account page for orders (Paid, Pending or Refunded).
- ENHANCEMENT: Adding additional quick search links when no members are found in members list search.
- ENHANCEMENT: Added a check on the Add Ons page to hide Add Ons that are no longer supported or recommended.
- ENHANCEMENT: Improved Responsive layout of the Memberships admin area for smaller devices.
- ENHANCEMENT: Adding .gitattributes and gitignore. Important now for node stuff in particular.
- BUG FIX: Fixed issue where the PMPro dashboard and reports pages would appear blank if certain other plugins were active.