Our Developer’s Toolkit Add On offers several development tools for Paid Memberships Pro sites. Some of the most popular features include:

  • Database scripts to perform bulk data updates, like membership cancellations, user data deletion, and clearing report data.
  • Debugging tools for checkout and email deliverability.
  • Logic to migrate settings between two PMPro sites (import and export all settings or specific settings like customized email templates or membership levels).
  • Settings to temporarily disable specific cron jobs from running.
  • Scripts for sites to disable PMPro emails and scrub member data when imported into a staging site (for testing).

Keep reading to learn how to install this Add On and for help with all of the different development tools for your Paid Memberships Pro site.

Installation

You must have the Paid Memberships Pro plugin installed and activated with a valid license type to use this Add On.

  1. Navigate to Memberships > Add Ons in the WordPress admin.
  2. Locate the Add On and click Install Now.
    • To install this plugin manually, download the .zip file above, then upload the compressed directory via the Plugins > Add New > Upload Plugin screen in the WordPress admin.
  3. Activate the plugin through the Plugins screen in the WordPress admin.

Toolkit Options

Navigate to Settings > PMPro Toolkit in the WordPress admin. From here you can explore all of Toolkit’s development tools, including:

Email Debugging

This setting redirects all Paid Memberships Pro emails to a specific address for debugging purposes.

  1. Locate the Email Debugging section in Toolkit Options.
  2. Enter the email address where you want all PMPro emails to be sent.
  3. Click Save Changes to save your settings.

All email that Paid Memberships Pro attempts to send to your admins or users will now be sent to the specific debugging address.

Scheduled Cron Job Debugging

You can disable specific scheduled scripts that run daily via WP-Cron. This is useful for debugging issues in your membership site or when you want to temporarily stop these processes.

  • Expire Memberships: Check to disable the script that checks for expired memberships.
  • Expiration Warnings: Check to disable the script that sends expiration warnings to members.
  • Credit Card Expirations: Check to disable the script that checks for expired credit cards.
  • Click Save Changes to save your settings.

Gateway/Checkout Debugging

Use these settings to enable debugging for various payment gateways like PayPal IPNs, Stripe Webhooks, Authorize.net Silent Posts, and more.

  • Gateway Callback Debug Email: Enter the email address where you want the debug logs to be sent.
  • Send Checkout Debug Email: Enable this feature to receive an email every time the Checkout page is submitted. The email will contain data about the request, user, membership level, order, and other relevant information.
  • Click Save Changes to save your settings.

“View as…” Feature

This feature allows admins to view any page as if they had a specific membership level. PMPro includes a built-in Admin Membership Access View you can read about here. This Toolkit setting offers a more specific way to view your site as a single level ID.

  • Enable “View As” feature: Check this option to enable the feature.
  • Click Save Changes to save your settings.

Now, visit your site and add the pmprodev_view_as parameter to your URL. This parameter accepts a single level ID or series of level IDs separated by hyphens. For example:

// View your homepage as level ID 9
https://mysite.com/?pmprodev_view_as=9
// View your homepage as level ID 9 or 10
https://mysite.com/?pmprodev_view_as=9-10
// Reset the "View as" filter
https://mysite.com/?pmprodev_view_as=r
// View your site as a logged in, non-member
https://mysite.com/?pmprodev_view_as=n

Database Scripts

Navigate to Tools > PMPro Toolkit Scripts in the WordPress admin. This screen has many different scripts you can use to bulk manage data in your WordPress site. Check the box for the script you want to run (we recommend only running one script at a time). The script will run after you save changes.

Toolkit Scripts to Delete Data

  • Delete all member data. Check the box to delete all member data from our custom tables, including pmpro_memberships_users, pmpro_membership_orders, and pmpro_discount_codes_uses
  • Delete all level and discount code data. Check the box to delete level settings and discount codes from our custom tables.
  • Delete non-admin users. Deletes all non-admin users and their user meta information users and usermeta tables.
  • Delete all PMPro options. Deletes any option in your options table that is prefixed with pmpro_. This script will not delete the PMPro DB version option or the PMPro page_id options.
  • Clear visits, views, and logins report. Resets all data stored in the Memberships > Reports > Visits, Views, and Logins report.

Scripts to Anonymize Data

  • Scrub member emails and transaction ids. Updates all non-admin users to anonymize email addresses and subscription IDs in the users and pmpro_membership_orders tables.

Bulk Update Membership Scripts

  • Change all members with a specific level ID to another level ID. Use this script to bulk change members in one level to be in another level. Note: this script does not cancel any recurring subscriptions at the gateway.
  • Give all non-members a level. Use this script to bulk apply a membership level to all users without an active membership level. Set the start date and end dates in the format: YYYY-MM-DD. Note: This only gives users the level via the database and does NOT fire the pmpro_change_membership_level hook or process live payments.
  • Cancel all members with a specific level. Set the level ID to bulk cancel all members in that level. This script also cancels recurring subscriptions at the payment gateway and cannot be reversed.
  • Bulk update content restrictions. Use this script to make all pages that require a specific level ID to also require another level ID. This is useful when you add a new membership level to your site. Note: this script does not update uses of the Content Visibility block, membership shortcode, or membership requirements for post categories and tags.

Note: Some operations here may time out on slow servers or sites with a large number of users. Consider performing these actions during low-traffic periods or increasing your server’s timeout settings if necessary.

Toolkit Migration Assistant

Import and export functionality included in the Toolkit helps you to migrate settings between two PMPro sites. This is a useful development tool for Paid Memberships Pro users that want to set up a development site with a clone of your settings.

How to Export PMPro Settings

  1. To export membership site settings, navigate to Tools > PMPro Toolkit Migration Assistant in the WordPress admin.
  2. Select which data to include in your export. The migration assistant supports exporting your Membership Levels, Email Templates, Payment & SSL Settings, and Advanced Settings.
  3. Or, use the Select all button to include all membership settings.
  4. Click Export PMPro Data to complete the export.

Your browser will automatically download the settings file in JSON format.

How to Import PMPro Settings

  1. Navigate to Tools > PMPro Toolkit Migration Assistant in the WordPress admin.
  2. Choose your settings file that you downloaded from another site (JSON format).
  3. Click Import PMPro Data button to complete the import.
  4. Click to confirm the import and data override in the popup window.

Once the import is complete, all of the included data will be updated in your membership site.

Your Email Templates, Payment & SSL Settings, and Advanced Settings get replaced by any imported settings.

Membership Levels, however, are created as new levels in your site. We do not override existing membership levels that may already be in the destination WordPress site. For example, if you already have a membership level in the destination site named “Free” and import a new level named “Free”, the import will create a new level named “Free” with the settings based on the import. Each newly created level has a unique level ID.

Video: How to Import and Export Membership Settings

Using a Staging Site to Develop Your Membership Site

It is always a good idea to have a staging site. Your staging site allows you to test custom code, new features, plugin upgrades, and bug fixes before you make changes on your live site.

Our guide on how to set up a staging environment is an important first read if you have decided to set up a new staging site for your membership.

The PMPro Toolkit Add On is very helpful for staging sites. Use it to anonymize your user data and subscriptions when this data is brought into the staging environment. This prevents the staging site from sending emails to your real users. It also prevents membership changes on the staging site from being synchronized to your gateway and affecting your real members.

Screenshots

Screenshot of Toolkit Options under the Settings > PMPro Toolkit screen in WordPress
Screenshot of Toolkit Options under the Settings > PMPro Toolkit screen in WordPress
Screenshot of Toolkit Database Scripts under the Settings > PMPro Toolkit Scripts screen in WordPress
Screenshot of Toolkit Database Scripts under the Settings > PMPro Toolkit Scripts screen in WordPress
Screenshot of Toolkit Migration Tools under the Tools > PMPro Toolkit Migration screen in WordPress
Screenshot of Toolkit Migration Tools under the Tools > PMPro Toolkit Migration screen in WordPress

Action and Filter Hooks

apply_filters( 'pmpro_toolkit_allowed_import_options', $pmpro_options );

Customize the list of allowed import options when you import settings via the Toolkit Migration Assistant.

This is a Standard Add On.

Standard Add Ons are included in all premium membership plans.