PMPro Update 1.9.4.3

Version 1.9.4.3 of Paid Memberships Pro is out with a single bug fix.


  • BUG FIX: Fixed issue where PMPro would attempt to cancel gateway subscriptions more than once in some cases.

This bug could have a small or large impact depending on your site and settings. To be safe, you should update now.


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.9.4.3 specifically here.

PMPro Update 1.9.4.2

Version 1.9.4.2 of Paid Memberships Pro is out with a handful of bug fixes and minor enhancements.


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.9.4.2 specifically here.


The full list of updates is below.

There is one issue we’ve been working on that did not make it into this point release. On some Stripe setups, administrators are receiving “failed to cancel” emails either sometimes when a user cancels or every time a user cancels. In some cases, PMPro is trying to cancel a subscription twice. Since the subscription is already cancelled, the second attempt fails and sends this message.

We are working to fix this issue and will release an update 1.9.4.3 as soon as possible with this fix. Note that for this specific bug, PMPro is still cancelling subscriptions as it should, just sending these extra emails which are problematic on bigger sites. There are other issues that can come up with cancellation and subscription syncing. If you are having issues, you should reach out to us through our member support forums.

  • BUG FIX: Avoid double-encoding the API version in PayPal Standard gateway
  • BUG FIX: The update billing page now checks the gateway of the user’s last order instead of the default gateway settings in case multiple gateways are in use or the default gateway has changed.
  • BUG FIX: Fixed bug where discount codes were not being applied properly if the pmpro_default_level custom field was set and used on a page.
  • BUG FIX: Credit card expiration emails were being to sent to members with PayPal Express orders.
  • BUG FIX: Now correctly unslashing instructions for the check gateway.
  • BUG FIX: Fixed issue with creating pages from the page settings page.
  • BUG FIX/ENHANCEMENT: Improved submit button and processing message position for default and RTL on checkout page.
  • BUG FIX/ENHANCEMENT: Added invoice total and total billed breakdown back to confirmation and invoice single views.
  • BUG FIX/ENHANCEMENT: Avoid double-encoding the PayPal API version number
  • ENHANCEMENT: Improved submit button and processing message position for default and RTL on checkout page.
  • ENHANCEMENT: Switched order of Publishable and Secret Key fields and added validation check.
  • ENHANCEMENT: Conditionally update members list headings for expired, cancelled, or old members.

PMPro Update 1.9.4.1

Version 1.9.4.1 of Paid Memberships Pro is out with a handful of bug fixes. Braintree users in particular will need to update if they are running 1.9.4. There is also fix to the Recaptcha code and an enhancement to the cancelation error email.


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.9.4.1 specifically here.


The full list of updates is below.

  • BUG FIX: Fixed serious bug where payment fields weren’t showing up for the Braintree gateway.
  • BUG FIX: Fixed issue where Braintree webhook notifications were failing. We now allow the Braintree library to sanitize the incoming data since our sanitizing efforts were breaking the validation.
  • BUG FIX/ENHANCEMENT: The webhook URL given for Braintree now goes through admin-ajax.php instead of a direct link to a php file within our plugin.
  • BUG FIX/ENHANCEMENT: Updates to the Recaptcha library. (Thanks, Corin Simpson-Bryars)
  • ENHANCEMENT: Made the cancelation failed error email easier to read.

PMPro Update 1.9.4

Version 1.9.4 of Paid Memberships Pro is being pushed out shortly. This update includes fixes that could impact sales, and we recommend everyone upgrade as soon as possible. There are two updates in particular to look out for related to our Stripe integration as well as new frontend layouts for improved display across devices.


The included Stripe PHP Library has been updated to the latest version.

While not necessary, after upgrading it is a good idea to log into Stripe to change your API settings to use the latest version of the Stripe API. To do this log into Stripe, click on API in the left sidebar, then click on “Upgrade Available” and follow the directions.

If you don’t see the “Upgrade Available” link, then you are already running on the latest version of the Stripe API. Be sure to test checkouts on your site after making this change. For 72 hours, you’ll be able to roll back to the previous version of the Stripe API if needed.


“Table-free” Frontend Pages for Improved Display on All Devices

In an effort to improve the display and responsive layout of default plugin pages, v1.9.4 of Paid Memberships Pro has migrated to a “table-free” layout for selected frontend pages. Affected pages include those pages using the following shortcodes: [pmpro_checkout], [pmpro_confirmation], and [pmpro_billing]. These pages have been updated to use a div-based HTML layout where possible instead of a table-based layout.

We’ve done our best to make sure this update has minimal impact on all of our users, but if you notice UI issues after performing the update (in particular users with custom checkout templates or CSS styling might be affected), you can use the Table Layout Add On to revert to the table-based layout on your site. Note that if you roll back PMPro entirely, you will lose the benefit of the 30+ other fixes and enhancements included in this update. So using the table pages add on the preferred way to fix any UI issues that come up.

It is also important to note that this add on is meant as a temporary solution while you update your site to make use of the new div-based layout. We will support the plugin for about a year. During that time, be sure to reach out to use with any issues caused by our add ons and code and take time to update your own customizations to work with the new layout.


Add Ons Updated to be “Table-free” and for 1.9.4 Compatibility

Many of our Add Ons have also been updated to use the new div-based layout or other bug fixes included in this update. Those add ons will have updates available as well, so be sure to update all of your PMPro Add Ons with update notices before you update the core Paid Memberships Pro plugin.

Affected Add Ons Include


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 1.9.4 specifically here.


Changelog

In terms of number of fixes and enhancements, this is one of our largest updates ever. The full list of updates is below.

  • BUG FIX: Fixed issue where PayPal was not working for amounts over $1000.
  • BUG FIX: Non-decimal currencies now handled correctly with Stripe.
  • BUG FIX: Fixed issue where updating a Stripe subscription from the edit user page could cancel the subscription once the webhook fired.
  • BUG FIX: Fixed issue where “admin_cancelled” memberships weren’t being calculated correctly in membership reports.
  • BUG FIX: Fixed issue where users could not drag and drop to change the order of membership levels.
  • BUG FIX: pmpro_getMembershipLevelsForUser() would sometimes return duplicate levels in the array if the user had multiple active entries in the pmpro_memberships_users table.
  • BUG FIX: Updated includes/metaboxes.php to call pmpro_getAllLevels() instead of relying on the $membership_levels global which is problematic.
  • BUG FIX: Fixed a few strings that weren’t wrapped for translation or were using the old text domain.
  • BUG FIX: Fixed redirect error that occured when the levels page was not set.
  • BUG FIX: Updated getfile.php to support file names with urlencoded characters (e.g. spaces) in them. (Thanks, florent from PMPro blog)
  • BUG FIX: Fixed notice when use the getfile.php script due to using add_filter instead of apply_filters in the mimetype class.
  • BUG FIX: Fixed the all time views column for the logins report.
  • BUG FIX: Fixed fatal error on the logins report, member shortcode and other issues when using PHP7.1+.
  • BUG FIX: Fixed issue with saving arrays using pmpro_setOption()
    up the lines of text.
  • BUG FIX: Fixed typo in the string “Are you sure you want to do that? Try again.”
  • BUG FIX: Fixed a few strings that used the wrong text domain or weren’t wrapped correclty for translation.
  • BUG FIX/ENHANCEMENT: Now bundling Google’s jsapi.js file for use in the reports.
  • BUG FIX/ENHANCEMENT: Fixed issue where some emails (e.g. the password reset email) would not have wpautop applied to them, crunching
  • BUG FIX/ENHANCEMENT: Better checking for Theme My Login compatibility when handling login redirects.
  • BUG FIX/ENHANCEMENT: Better error handling for Braintree.
  • BUG FIX/ENHANCEMENT: Membership stats widget now shows first 3 levels based on level order.
  • BUG FIX/ENHANCEMENT: Added the pmpro_member_shortcode_access filter
  • ENHANCEMENT: Updated the Stripe PHP library to version 5.2.2 and updated Stripe to use the latest version of their API, 2017-08-15.
  • ENHANCEMENT: Changed frontend pages (e.g. checkout.php) to use a div-based layout instead of tables. Important information here if you are using custom page templates or notice UI issues after upgrading
  • ENHANCEMENT: Added pagination to the discount codes page in the admin. Also sorting codes in descending order by ID. Use the pmpro_discount_codes_per_page filter to change the per page limit from 15.
  • ENHANCEMENT: Updated plugin admin pages with better links to documentation and support.
  • ENHANCEMENT: Updated plugin frontend pages checkout, billing, confirmation, and single invoice to remove most table based layouts.
  • ENHANCEMENT: Better error message if trying to checkout using an existing user’s email address.
  • ENHANCEMENT: Added the pmpro_report_levels filter to let users change levels and order of levels for the memberships.php report.
  • ENHANCEMENT: Updated video and copy for readme.txt.
  • ENHANCEMENT: Added user display name to Memberlist search query
  • ENHANCEMENT: Added Russian Ruble as a currency.
  • ENHANCEMENT: Changed the dated term “CVV” to “Security Code (CVC)” when shown on the frontend.
  • ENHANCEMENT: Added .doc and .docx to the mimetype class.
  • ENHANCEMENT: Added Portuguese language files. (Thanks, Secundino Correia)
  • ENHANCEMENT: Updated plugin admin pages with better links to documentation and support.
  • Memberlite Update 3.0.3

    Version 3.0.3 of Memberlite theme is out with a handful of bug fixes and enhancements. We also fixed a bug with our update server that was causing issues with automatic updates. So if you were having trouble updating before, it may work now.


    About the Update

    Memberlite is still free to download and update, and we still plan to move the plugin into the WordPress.org repository. Many of the bug fixes in this update were part of the theme repository review process, however there is still work to be done before we can do that. The theme repository has strict rules on what kinds of functionality can be included in themes and what kinds of functionality are “plugin territory”.

    The custom sidebars and post banner functions of Memberlite need to be moved into their own plugins. The bad news is that this will take some time and force Memberlite users at some point to install and activate those plugins, although we’ll do our best to make installing those plugins as easy as possible. The good news is that users of other themes will be able to take advantage of that functionality.


    If you are running an edited version of Memberlite or Memberlite with a child theme, please update the theme from the updates page of your WordPress dashboard. You can also get the latest version of Memberlite here.


    The full list of updates is below.

    • SECURITY: Escaping login/logout URLs, account/profile URLs, landing page level URL, home_url.
    • BUG FIX: Fixed float for Full Width and Narrow Width page templates when default pages layout set to left sidebar.
    • BUG/ENHANCEMENT: Wrapping welcome text in header and a few other strings for translation.
    • BUG/ENHANCEMENT: Added comment support to pages.
    • BUG/ENHANCEMENT: Fixed abbr and heading tag use on PMPro checkout page.
    • BUG/ENHANCEMENT: Fixed text link color issue for cancel button.
    • BUG/ENHANCEMENT: Setting the content width on after_setup_theme hook now.
    • BUG/ENHANCEMENT: No longer enqueuing jQuery directly. It is set as a dependency for our JS files.
    • NOTE: Added Copyright section to the readme.
    • NOTE: The get_the_content_before_more and get_the_content_after_more functions are now prefixed, memberlite_get_the_content_before_more() and memberlite_get_the_content_after_more().
    • NOTE/ENHACEMENT: Now only showing the post meta generated by memberlite_get_entry_meta() on the post CPT.
    • NOTE/ENHANCEMENT: Now only showing the footer widgets primary background stripe if there are active widgets in the area.
    • ENHANCEMENT: Added CSS for JetPack contact form submission/results blockquote.
    • ENHANCEMENT: Improved breadcrumbs for custom post type archives and custom taxonomies
    • ENHANCEMENT: Improved page title for custom post type archives and custom taxonomies
    • ENHANCEMENT: Updated bbPress single forum topic title output.

    Add On Updates for July 2017

    This post recaps the Paid Memberships Pro Add Ons recently updated. PMPro Plus members can upgrade through their WordPress dashboard under Dashboard > Updates or Memberships > Add Ons. Be sure to backup your site before performing updates.


    Approval Process for Membership Add On

    The Approvals Add On grants membership site administrators the ability to approve or deny members.

    v1.0.2 of the Add On now shows a count of pending approvals in the menu row. This provides admins with an alert that there are members pending approval. Additionally, if you set a level to require another level’s approval, that level will automatically be set to require approval as well.

    View the Add On


    bbPress Add On

    Using this Add On, you can create members-only forum in bbPress. The recent updates to this add on fixed fatal error when bbPress was not activated. We’ve also added a session variable when redirecting members away from protected forums. The referring page is now saved in $_SESSION['pmpro_bbp_redirected_from'] so that you can reference this in custom code.

    View the Add On


    Kissmetrics Add On

    Integrates Kissmetrics with your WordPress site, allowing you to track meaningful data not only about users, but about how they are interacting with the Memberships sections of your website.

    v.3.1 of the Kissmetrics integration adds support for localization as well as the filter pmprokm_is_trial to determine if the level is a trial or not (useful for deeper analysis of member interactions within the Kissmetrics reports).

    View the Add On


    Lock Membership Level

    Adds the ability for the admin or membership manager to lock a user’s membership level or lock all members of a level for a specified term (for required installments).

    Recent updates to this add on include:

    • BUG FIX: Incorrect text domain for translation
    • BUG FIX: Partially complete default values for level settings
    • BUG FIX: Locked members were able to unlock their profile through the Edit Profile page.
    • BUG FIX: Fixed other bugs with the settings on the edit membership level page. (Thanks, Ted Barnett)
    • SECURITY: Added sanitization of settings on the edit level and edit user/profile pages.

    View the Add On


    Membership Manager Role Add On

    This Add On creates a new user role in your WordPress site. The role of “Membership Manager” allows them to manage your Paid Memberships Pro settings, without complete administrator access.

    We’ve added support for the Approval Process for Membership Add On so that this role can process approvals. The role is also now loaded on admin_init instead of activation so capabilities are updated when the plugin updates.

    View the Add On


    Nav Menus

    This Add On creates member navigation menus and swaps your theme’s menu areas or menus placed via widget based on a user’s Membership Level.

    The Add On was recently updated to include a conditional menu state for a logged-in user with no membership level. You can now use this condition in both the Appearance > Menus > Menu Locations or via the Appearance > Widgets > Custom Menu widget.

    View the Add On


    Pay by Check Add On

    This Add On provides a collection of customizations useful when allowing users to pay by check for Paid Memberships Pro levels.

    It was recently updated to fix an issue where the PayPal button was still displaying when the “check” option was chosen. We’ve also enhanced the Add On by showing a better non-member-text notice when pending members try to access content. The new message will read:

    Your payment is currently pending. You will gain access to this page once it is approved.

    The message can be filtered using the gettext filter in WordPress.

    View the Add On


    Register Helper: Add Checkout and Profile Fields

    Register Helper is a robust add on to collect additional fields at membership signup. Fields can be collected at membership checkout, on the user’s profile or for administrative view-only.

    Recent updates to this add on include:

    • BUG FIX: Incorrect function definition (static vs non-static).
    • BUG FIX: Didn’t save RH fields from pmpro-add-member-admin
    • ENHANCEMENT: Updated Readme, including instructions.
    • ENHANCEMENT: Added logic to only load CSS and JS on the checkout and profile pages on the frontend and profile and edit user pages in the dashboard.

    View the Add On


    Shipping Address on Membership Checkout

    The Shipping Address Add On adds fields to the membership checkout page, confirmation page, confirmation emails, member’s list and edit user profile pages to capture a separate “Shipping Address” for members.

    The plugin was recently updated to repair warnings related to the use of the deprecated get_usermeta function as well as issues around the display of fields when “same as billing” was selected. We’ve also added a new pmproship_required_shipping_fields filter for developers.

    View the Add On


    VAT Tax Add On

    Our VAT Tax Add On calculates VAT tax at checkout based on the customer’s selected EU country of residence and allows customers with a VAT Number to avoid the tax. The entered VAT number is validated using the SOAP service provided through the European Commission.

    We’ve recently added GeoIP support to this add on to automatically detect the user’s country. You must install and activate the GeoIP Detect plugin in order to take advantage of this integration. The current release now converts GB to UK when validating VAT numbers, since GB is the expected value for validation in the VAT service. The AJAX code has also been updated to avoid issues on sites with PHP warnings/etc.

    View the Add On

    MailChimp Add On v2.1 Update Notes

    We have just pushed out v2.1 of the MailChimp Integration Add On. This update fixes a lot of bugs, but one of those in particular would have stopped users from being subscribed to MailChimp lists after checkout or registration.

    Please upgrade by visiting the Dashboard -> Updates area of your WordPress site or downloading the latest ZIP file directly here.


    Reconciling Missing Subscribers

    If you suspect that you’ve missed some list signups due to this bug, you can use the export CSV feature of the plugin to generate files to import your members into MailChimp.

    When you import the CSVs, it will not duplicate users already on your lists and will not subscribe anyone who has since unsubscribed through MailChimp.
    We have a guide for exporting subscriber lists by membership level and importing them into MailChimp.

    View the Export/Import Guide for MailChimp

    Support for Localication and Multiple Memberships Per User

    In addition to fixing this subscription bug and a few others, we’ve added localization support to the plugin. This means that the community can now contribute a MailChimp Integration translation via the GlotPress.

    We’ve also updated the add on to ensure compatibility with the PMPro Multiple Memberships Per User Add On, which we’ll be sharing more info about soon.


    The full list of updates is below.

    • BUG: Fixed a variety of bugs related to the MailChimp API, including a bug introduced in v2.0.3 that sometimes kept the plugin from subscribing users to lists.
    • BUG/ENHANCEMENT: Doing a better job of limiting the number of API requests made to avoid API limits.
    • ENHANCEMENT: Supports the pmpro-multiple-memberships-per-user Add On.
    • ENHANCEMENT: Added localization support. (Now should be able to create language files via GlotPress)

    PMPro Update 1.9.3

    Version 1.9.3 of Paid Memberships Pro is out. This is an important security update, and we recommend everyone upgrade as soon as possible.


    Security Improvements to Forms

    We have improved the sanitization of form inputs in several places, which protects against Cross-site scripting (XSS) attacks. Part of this hardening includes sanitizing some settings like the SSL Seal code, level confirmation text, and non-member/logged-out text shown on restricted posts.

    Some sites may be using JavaScript script tags in these settings or other values that would be stripped out by the sanitization. While it’s possible to use custom code to allow for new tags to be used, this will again open you up to certain XSS attacks. So we suggest that you use a custom plugin to insert JavaScript into your site. Feel free to reach out on our forums for help doing this.


    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.9.3 specifically here.


    The full list of updates is below.

    • SECURITY: Fixed sanitization of inputs and added nonces in several places to protect against XSS attacks.
    • BUG FIX: Showing correct error message when trying to update a PMPro Plus add on with a Core license installed.
    • BUG FIX: Fixed issue where subscription and payment transaction IDs were not being saved correctly when copying an order in the dashboard. (Thanks, Pippin Williamson)
    • BUG FIX: Fixed fatal errors that occurred in certain PHP versions.
    • BUG FIX: Fixed issue where ProfileStartDate was being calculated incorrectly in the test, check, and Cybersource gateways.(Thanks, David Parker)
    • ENHANCEMENT: Added a pmpro_sanitize_with_safelist() function that is used to sanitize inputs that have a limited number of exact options.
    • ENHANCEMENT: Updated the pmpro_setOption() and pmpro_getParam() functions to take a new last parameter $sanitize_function, which defaults to ‘sanitize_text_field’.

    PMPro Update 1.9.2.2

    Version 1.9.2.2 of Paid Memberships Pro is out with a couple of bug fixes. One fix is for PMPro running on a multisite network. The other is for sites running older versions of PHP.


    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.9.2.2 specifically here.


    The full list of updates is below.

    • BUG FIX: Fixed warnings on the Network Dashboard’s sites page.
    • BUG FIX: Skipping update scripts that require the Stripe library if the system doesn’t support the minimum requirements for the Stripe API. This avoids warnings and errors during upgrade.

    PMPro Update 1.9.2.1

    Version 1.9.2.1 of Paid Memberships Pro is out two crucial bug fixes. All sites should update, especially those running 1.9.2.


    Bug Fixes in 1.9.2.1

    1. Code shipped in 1.9.2 that was meant to stop users from network activating PMPro could stop them from activating it at all. That has been fixed.
    2. Code shipped in 1.9.2 changed how we handle PHP sessions, attempting to start and close them only when needed. This update starts the session a bit earlier to avoid issues that were happening with PayPal and PayPal Express.

    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.9.2.1 specifically here.