The official release of Paid Memberships Pro v3.8 is here. The headline update in this release is a completely upgraded Email Template Editor, now built on the standard WordPress visual/text editor with built-in Liquid syntax autocomplete for variables, tags, and filters.

This release also adds a new [pmpro_membership_level] shortcode for displaying level details anywhere on your site, Divi 5 compatibility for content restrictions, and a handful of enhancements, bug fixes, and deprecations.

PMPro v3.8 builds on the groundwork laid in v3.7, where we introduced Liquid-style template syntax for email bodies. This update makes that syntax far easier to work with and gives you more flexible ways to display your membership levels across your site.

The rest of this post covers each major feature in detail and highlights the other changes included in this release. Keep reading to learn how to update to PMPro v3.8.

Banner for the Paid Memberships Pro v3.8 Release — person at a laptop with the title 'PMPro Version 3.8' and the features New Email Editor, Liquid Autocomplete, Single Level Shortcode, and Divi 5 Support overlaid

Video: PMPro v3.8 Feature Tour

We’re hosting a launch party today, Tuesday, June 16 at 9:30am ET. Join Kim Coleman and Sam Daugherty as we walk through everything new in Paid Memberships Pro v3.8.

Thumbnail with text 'Open Office Hours: Introducing PMPro v3.8' and profile pictures of Host Sam Daugherty and Presenter Kim Coleman

Overview of Key Features in v3.8

Alongside numerous bug fixes and enhancements, below is an overview of the key features in PMPro v3.8.

Upgraded Email Template Editor with Liquid Autocomplete

In v3.7 we introduced Liquid-style template syntax for email bodies, giving you conditional logic and formatting without writing PHP. In v3.8 we’ve upgraded the email template editor itself to the standard WordPress visual/text editor, so editing an email feels just like editing a post or page.

The biggest improvement is built-in Liquid syntax autocomplete for the email body content. As you type, the editor suggests the available variables, tags, and filters for that template, so you no longer have to memorize variable names or jump back and forth to a reference panel. This makes building conditional logic and personalized content faster and far less error-prone.

The Paid Memberships Pro email template editor with the Liquid autocomplete dropdown open, suggesting variables like sitename, siteemail, and site_url with descriptions
As you type a Liquid variable, the editor suggests the tags available for that template along with a short description of each.

New [pmpro_membership_level] Shortcode

PMPro v3.8 adds a new [pmpro_membership_level] shortcode for displaying a single membership level detail on any post or page. This makes it easier to build custom pricing pages, level comparison sections, and marketing copy that stays in sync with your actual level configuration.

The shortcode takes two required attributes:

  • field: The level detail you want to display.
  • level: The ID of the membership level to pull the detail from.

For example, to display the name of level 1:

[pmpro_membership_level field="name" level="1"]

You can display any of the following fields: name, description, initial_payment, billing_amount, cycle_number, cycle_period, billing_limit, trial_amount, trial_limit, expiration_number, expiration_period, level_cost, and checkout_url. Price fields are automatically formatted using your site’s currency settings, level_cost returns the full formatted cost text (the same string PMPro shows on your pricing pages), and checkout_url returns the direct checkout link for that level.

Both the field and level attributes are required… leave either one out and the shortcode returns a short reminder instead of output.

Divi 5 Compatibility

PMPro v3.8 adds Divi 5 compatibility for module-level restrictions and no-access message handling. If you build with Divi, content restriction applied at the Divi module level and the associated no-access messages now render correctly under Divi 5.

The Divi 5 builder showing the Advanced tab for a module with Paid Memberships Pro content restriction settings: condition, requirement, and no-access message
Set PMPro content restrictions on any Divi 5 module from the module’s Advanced tab, including the no-access message behavior.

Other Enhancements and Changes

Beyond the features above, v3.8 includes several other improvements:

  • New level_group_id email variable: Every email template class that already exposes membership_id now also exposes a level_group_id variable, giving template authors access to the level’s group in their liquid conditional logic and output tags.
  • Shortcodes in the account page message: The account page message now renders shortcodes, so you can embed dynamic content directly in that message, like a link to a protected download or course.
  • Email logging fallback for SMTP plugins: Email logging now captures emails sent through SMTP plugins (such as Gravity SMTP) that bypass the standard wp_mail_succeeded and wp_mail_failed actions, so your email log stays complete.
  • Gateway-scoped trial settings: The recurring trial settings on the membership level and discount code edit pages are now hidden when the active payment gateway doesn’t support recurring trials, reducing confusion when configuring levels.
  • Cleaner level deletion: Deleting a membership level now also cleans up orphaned membership level relationships, keeping your database tidy.
  • Logged-out Billing page fix: Fixed a fatal error on the Membership Billing page for logged-out requests.
  • Orders list on mobile: The Orders list table no longer appears blank on mobile. The order code is now the default primary column.
  • Stripe card cleanup: Cleared stale card information when a recovered Stripe payment uses a non-card payment method.
  • Confirmation message fix: PMPro no longer shows the membership confirmation message when an order has not actually been confirmed.
  • Clearer admin hints: Removed the misleading “Advanced Settings” hint from the no-access message controls and clarified the user field meta key hint on the user field settings page.
  • Code cleanup: Removed the unused pmpro_userfields_get_group and pmpro_userfields_get_field AJAX handlers.

Deprecations

  • Credit Card Expiring email template: The credit card expiring email template is now deprecated.
  • Membership Billing page user meta: The Membership Billing page no longer writes pmpro_b* user meta on save, and the email field has been removed from that page.

How to Update to PMPro v3.8

You can update to PMPro v3.8 directly from the Dashboard > Updates screen in the WordPress admin or download the latest version here.

Before Updating:

  1. Backup Your Site: Always create a full backup before making major updates.
  2. Check Custom Code and Add Ons: If you have customizations or third-party integrations, test on a staging site first.
  3. Review the Full Changelog: See the detailed list of changes below.

This release continues our commitment to building the most flexible and powerful open source membership platform. Thanks for being part of the PMPro community. We can’t wait to see what you build next.

Providing Feedback on PMPro v3.8

Here’s how to share your feedback.

Your insights and contributions are invaluable to the improvement of PMPro.

PMPro v3.8 Full Changelog

  • FEATURE: Upgraded the email template editor to the standard WordPress visual/text editor with built-in Liquid syntax autocomplete for variables, tags, and filters.
  • FEATURE: Added a new [pmpro_membership_level] shortcode for displaying membership level details.
  • ENHANCEMENT: Added Divi 5 compatibility for PMPro module-level restrictions and no-access message handling.
  • ENHANCEMENT: Added a new level_group_id email template variable to every email template class that exposes membership_id.
  • ENHANCEMENT: Allowed shortcodes in the account page message.
  • ENHANCEMENT: Removed the misleading “Advanced Settings” hint from the no-access message controls.
  • ENHANCEMENT: Clarified the user field meta key hint on the user field settings page.
  • ENHANCEMENT: Added an Add On icon for the MemberPress Migration Toolkit.
  • BUG FIX/ENHANCEMENT: Now hiding the recurring trial settings on membership level and discount code edit pages when the active gateway doesn’t support recurring trials.
  • BUG FIX/ENHANCEMENT: Added a fallback for email logging when SMTP plugins (e.g. Gravity SMTP) bypass the wp_mail_succeeded and wp_mail_failed actions.
  • BUG FIX: Cleaned up orphaned membership level relationships when a level is deleted.
  • BUG FIX: No longer shows the membership confirmation message when the order has not been confirmed.
  • BUG FIX: Fixed a fatal error on the Membership Billing page for logged-out requests.
  • BUG FIX: Fixed the Orders list table appearing blank on mobile by setting the order code as the default primary column.
  • BUG FIX: Cleared stale card information when a recovered Stripe payment uses a non-card payment method.
  • REFACTOR: Removed unused pmpro_userfields_get_group and pmpro_userfields_get_field AJAX handlers.
  • DEPRECATED: Deprecated the credit card expiring email template.
  • DEPRECATED: The Membership Billing page no longer writes pmpro_b* user meta on save, and the email field has been removed from that page.


Was this article helpful?
YesNo