PMPro Update 2.3 is here and with this release comes a load of new features, exciting enhancements, and bug squashes. It’s our most anticipated release in many months—read on to explore what is included in the update.

Development Changelog for Paid Memberships Pro Release Updates

Video: PMPro v2.3 Highlights

Frontend Login & Password Recovery

Paid Memberships Pro has always relied on the default WordPress login functionality to handle all member logins. We knew there were other plugins out there to change this experience if you, the site owner, wanted to adjust it. This login was a lightweight solution that worked well enough for most use cases.

As time went on, we realized this login experience was a major pain point for many of our members. Sure, there was a way to mitigate this process, but it meant installing another plugin. To make matters a little more complicated, the plugin we recommended for years had changed. Some of the necessary features to create a frontend login that included user profile editing were no longer free to use.

With PMPro Update 2.3, you can now configure your very own frontend login and password recovery experience. To update your site to use this feature, just place the [pmpro_login] shortcode into any page or let Paid Memberships Pro generate this page for you on the Memberships > Settings > Page Settings admin page.

Paid Memberships Pro Frontend Login - PMPro Update 2.3

Frontend Member Profile Editing

Along with the frontend logins, we’ve also added customizable and editable fronted user profiles. This means that members no longer need to edit their profile via the WordPress dashboard. Go ahead and insert the [pmpro_member_profile_edit] shortcode into any page of your choice or generate this page on the Memberships > Settings > Page Settings admin page.

Paid Memberships Pro edit member profile - PMPro update 2.3

These two features alone are pretty groundbreaking and allow you to transform the member experience on your WordPress site. We know that you’ve waited a long time for this feature and we are proud to announce that frontend login and profile pages are finally here. 🎉

7 REST API Endpoints

The WordPress REST API allows you to get data in and out of your WordPress site. There are several built-in REST API methods offered in WordPress, each requiring proper authentication before the information is received or distributed. Paid Memberships Pro now includes 7 REST API endpoints for interacting with your membership site data, including:

  1. Check a User’s Access to a Post: Returns true or false depending on whether the user has access.
  2. Check a User’s Membership Level or Levels Returns the membership $level object or an array of membership $level objects for the user.
  3. Change a User’s Membership: Returns true or false depending on whether the level change was completed.
  4. Cancel a User’s Membership: Returns true or false depending on whether the level cancellation was completed.
  5. Get, Update, Create, or Delete a Membership Level Object: Returns the membership $level object for the requested level ID. If you are updating or creating a new level, the method will return the new or updated $level object.
  6. Get, Update, or Create a Discount Code Object: Returns the $discount_code object for the requested code value. If you are updating or creating a new discount code, the method will return the new or updated $discount_code object.
Read the PMPro REST API Documentation

Admin Activity Email

At a glance, you will be able to see how much money your membership site brought in, how many members joined your site, your total member count, and more.

Another great feature that is being introduced into version 2.3 is the Admin Activity Email. This neat little feature will ensure that you always know exactly how your membership site is doing.

You can adjust the frequency of this message or disable the email completely from the Memberships > Settings > Advanced Settings admin page.

Sample of the Admin Activity Email-PMPro Update 2.3
Communications Settings admin settings

New Widgets, New Menus, and New Blocks.

Paid Memberships Pro now includes fifteen blocks to use with the WordPress Block Editor. These blocks make it easier to design and manage your WordPress Membership Site. In this release, we have added blocks for the Log In Form and the Member Profile Edit Forms. You can read the full membership blocks documentation for more information about block features and settings.

Screenshot of Membership Checkout Button Block in Editor- PMPro Update 2.3

PMPro Update 2.3 adds a new section to the “Menus” administration pages in your WordPress dashboard. This section includes all core pages created by the plugin, as well as “Log In” and “Log Out” links that can be placed in a menu and will be shown/hidden based on the user’s login status.

Customize menus in your membership site

“Log In Form” Widget

Along with the improvements to frontend login, we’ve added a Log In Form Widget which you can place anywhere on your site that supports WordPress Widget locations. The widget has a “logged in” view that will show a welcome message, custom menu location, and a link to “Log Out” per the widget settings.

Screenshot of the Log In Form widget in a sidebar

This widget is an ideal way to improve the user experience on your membership: members can quickly log in to your membership site and access important links once logged in.

Ready to update?

You can update Paid Memberships Pro from the “Plugins” page of your WordPress dashboard. Or, you can download the latest version of PMPro here or version 2.3 specifically here.

Please update Paid Memberships Pro from the plugins page of your WordPress dashboard. You can also get the latest version of PMPro Update 2.3 here or version 2.3.1 specifically here.

The full list of updates is below.

PMPro Update 2.3

  • FEATURE: Added frontend login and password reset.
  • FEATURE: Added frontend user profile editing.
  • FEATURE: Added [pmpro_login] shortcode and Log In Form block.
  • FEATURE: Added [pmpro_member_profile_edit] shortcode and Member Profile Edit block.
  • FEATURE: Added “Member Log In” widget.
  • FEATURE: Added “WordPress Toolbar” Advanced Setting to hide the WordPress Toolbar from “subscriber” role.
  • FEATURE: Added “WordPress Dashboard” Advanced Setting to block dashboard access for the “subscriber” role.
  • FEATURE: Added new Admin Activity Email. Weekly emails to the site admin with sales stats and other info. Change how often the email is sent or disable it from the advanced settings tab.
  • FEATURE: Added Beaver Builder module compatibility to restrict modules by membership level.
  • FEATURE: Created new REST API endpoints and extended existing endpoints.
  • FEATURE: Updated Elementor code to allow for restriction of “sections” as well.
  • BUG FIX: Updated all timestamp code to be compatible with WordPress v5.4+ which fixes issues where orders could lose one hour or one day when saved.
  • BUG FIX: Updated logic to filter body_class on pages with Membership Account shortcode or any “section” of the shortcode displayed.
  • BUG FIX: Improved pmpro_getAllLevels function to cache even when force is true. This saves multiple DB hits per page load.
  • BUG FIX/ENHANCEMENT: Cancellation report now calculates based on membership enddate.
  • BUG FIX/ENHANCEMENT: Fixed warnings and errors in PHP 7.4+.
  • BUG FIX/ENHANCEMENT: Now allowing translation for text generated by JavaScript.
  • BUG FIX/ENHANCEMENT: Updated all uses of “Email” to remove the hyphen.
  • BUG FIX/ENHANCEMENT: Updated to default to international addresses on the Billing Information page. Fixes a bug with the State Dropdown Add-On.
  • BUG FIX/ENHANCEMENT: Now treating “recurring_payment_failed” transactions from PayPal IPN as cancellations. PMPro will cancel membership and attempt to cancel the associated subscription.
  • ENHANCEMENT: Added membership level class for the PMPro_Membership_Level object. This is currently only used in the REST API calls, but will eventually be used whenever interacting with a membership level object or array.
  • ENHANCEMENT: Added discount code class for the PMPro_Discount_Code object. This is currently only used in the REST API calls, but will eventually be used whnever interacting with a discount code object or array.
  • ENHANCEMENT: Now allowing all users and members access to the Membership Account page.
  • ENHANCEMENT: Updating logic for all redirects from core pages like Invoices, Billing, and Cancel to allow past members to access their data. Generally more often redirecting where you would expect to in different situations.
  • ENHANCEMENT: Several core frontend page style improvements for responsive displays and gateway-dependent fields.
  • ENHANCEMENT: Added getSubscriptionStatus method to the Stripe gateway API class. This fixes issues with the PMPro Subscription Check Add-On.
  • ENHANCEMENT: Added !!levels_page_url!! and !!login_url!! as replacement variables in Advanced Settings > Message Settings. Using these by default on new installs.
  • ENHANCEMENT: Improved Block Editor code and webpack configuration.
  • ENHANCEMENT: Added support for PMPRO_AUTHNET_SILENT_POST_DEBUG to “log” data to /logs/ or send an email to an email address different from the site admin.
  • ENHANCEMENT: Added time fields to Memberships > Orders admin page when viewing, updating, or saving an order.
  • ENHANCEMENT: Added pmpro_admin_orders_filters and pmpro_admin_orders_query_condition filters to add new filters to the orders page in the dashboard. (Thanks, Mirco Babini)
  • ENHANCEMENT: Added an SVG icon to the PMPro blocks category.
  • REFACTOR: Improved the Members List list table code to use a function for each column of data and support the code core WP methods for extending list tables with custom columns.
  • REFACTOR: Moved all Theme My Login compatibility code to includes/compatibility/theme-my-login.php and only loading if plugin is active.

PMPro Update 2.3.1

Shortly after releasing v2.3, we received reports of a few edge case issues and release version 2.3.1 over the weekend. Paid Memberships Pro version 2.3.1 comes ready with some very important bug fixes so please be sure to update.

  • BUG FIX: Fixed infinite redirect issue if no account page was set. Fixed a few other places where we do is_page() type checks just in case.
  • BUG FIX: Fixed issue where all pages were retitled to Welcome when logged in, if no login page was set.
  • BUG FIX: Fixed issue with BuddyBoss and other themes/plugins that use the_title filter with only one parameter.
  • BUG FIX: Fixed error when trying to check if is_main_query in the admin or with certain themes.
Was this article helpful?