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)

Turn your WooCommerce Store into a Catalog for Non Members 

Prevent non-members from viewing product prices or purchasing products from your WooCommerce store with this Code Recipe

This page requires a PMPro Core Account or higher.

Already have an account? Login Now »

New to this site? Register Now »

Improve a Level’s Pricing Statement with the Custom Level Cost Text Add On

Our newly extended Custom Level Cost Text Add On allows you to modify the default level cost text per level, per discount code, or globally via advanced settings.


Special shout-out to David!

The enhancements to this add on were completed by our summer intern, David. This was the first project that David worked on with our team here at PMPro, and we’re very impressed with the end result. David is a Computer Science student at Haverford College (our CEO Jason Coleman’s alma mater).


How it Works

This plugin adds a “level cost text” field to Membership Levels and Discount Codes, allowing you to override PMPro’s default level cost text. When crafting your custom level cost text message, you can use completely custom text or variables based on the level or discount code’s settings.

You can also modify the cost text globally via Advanced Settings. These settings include some of the “most requested” changes to your level price statement:

  • Remove the word “now” from level cost text.
  • Use the word “Free” (or its translation) instead of $0.00.
  • Use “/” instead of “per”.
  • Hide unnecessary decimals. (removes the “.00” portion of the monetary value)
  • Abbreviate billing periods “Month”, “Week”, and “Year” to “Mo”, “Wk”, and “Yr”

Better Level Cost Text with a Better Levels Page

You can use this add on in conjunction with the Advanced Levels Page Shortcode Add On to really tighten up the appearance of your pricing pages. The Custom Level Cost Text Add On filters not only the price on the membership checkout page, but also on your levels page and in emails to the member.

I achieved the price appearance in the screenshot above by setting the Memberships > Advanced Settings to use the word “free”, use “/” instead of “per”, and use abbreviations for billing periods.

View the Add On

 

Approvals Add On Now Available

The Approvals Add On allows you to set up a unique approval or application process for your membership site. After a member signs up, the admin will have the ability to approve their membership or deny the application.

View the Add On


The diagram below explains how approval fits into the standard membership checkout process.

How it Works

Using the add on, you can set your membership levels to require approval with a few options. Not only can you set a level to require approval, you can also set a level to require an approved membership from another level in order to complete checkout.

This allows you to offer a two-step membership application and full membership registration model. You can place an application fee on the application level, and then charge your full recurring membership fee on the primary membership for approved members. Extend your site further by using fields add via the Register Helper Add On to gather member information that will help you decide whether to approve or deny the membership.

View the Add On

 

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’.

Approve or Exclude Members with the Approvals Add On: Live Stream Demo this Thursday

I’m happy to announce that the wait is (almost) over—on July 6 we will be releasing the new Approvals Add On. And to kick off the launch, Jason will demo the add on via live stream at 1pm EDT.

With this Add On you will be able to set up a unique approval or application process for your membership site. It’s a necessary feature for many membership sites that want to control who can gain access to your community or restricted content.


Live Demo Streaming

Jason will be streaming a live demo at 1pm EDT on Thursday June 6. The Approvals Add On will be available for immediate download to PMPro Plus level members following the demo.

View the Live Stream at 1pm EDT

Follow us on Twitter and Facebook to stay up to date with more details of the Live Streaming Event.

How the Approvals Add On Works

The Approvals Add On for Paid Memberships Pro allows you to set up a unique approval or application process for your membership site. After a member signs up, the Admin or Membership Manager will have the ability to approve their membership or deny the application.

Make the Most of Your Ad Space with Level Specific Ads Targeting

Advertisements are a classic method of monetizing your website, and ad-serving networks such as Google Adsense make it fast and easy to start displaying ads.

It’s important for a membership site to consider which ads to display for non-members, per-level or completely hidden to members for an “ad-free” experience. Read on to explore how to control ads for your PMPro-powered membership site.


Considering Ads for a Membership Site

Your site’s membership is often the most lucrative product sold through your website. That said, ads can still be a component of your revenue stream if you make smart choices about ad placement for free members and site visitors.

With the methods outlined below, you can target which ads display to which users. This unlocks a unique opportunity to target your ads for each membership level, not only to hide ads for members, but to show premium ads with exclusive partner offers to your paid members.


Ad Networks, Affiliate Ads, and Direct Ad Sales

The simplest way to insert ads is via an ad network. These services connect advertisers with sites that want to make money by displaying ads. You’ll be provided with a script or other integration method to dynamically embed third-party ads on your site. Some popular ad networks that you may be familiar with include Google Adsense, Facebook Audience Network, and Amazon a9.

Alternatives to an ad network include affiliate networks or direct ad sales. For this case, you would be obtain ads (graphics, links and promos) directly through company’s affiliate program or via a service such as ShareASale or CJ Affiliate. These methods take a bit more time to set up and manage, but generally offer a higher commission than an ad network.

Option 1: The pmpro_displayAds() Function

This PHP function checks against the “Hide Ads from Non-Members” settings under Memberships > Advanced Settings. It allows you to wrap and insert ad blocks that will load based on how you have configured the admin setting.

if(pmpro_displayAds())
{    
    //insert ad code here
}

Option 2: The [membership] Shortcode

If you are inserting ad blocks into posts or pages, you can simply use the [membership] shortcode to wrap your inserted content. Using this method, the ads will only be shown to the specified visitors or members.

View Shortcode Documentation

Option 3: The pmpro_hasMembershipLevel() Function

This PHP function allows you to check whether a user has any membership level or a specific membership level. You can then insert your ad blocks wrapped in the appropriate conditional check to achieve the desired result.

View Function Documentation

Option 4: Using Advanced Ads Pro

Advanced Ads Pro has just released a native integration for Paid Membership Pro. You can now target ads on your membership site in relation to the membership level of your visitors.

View Premium Plugin

Option 5: Integrating with Other Ads Plugins for WordPress

Many ads plugins for WordPress make use of shortcodes to allow you to insert the “ad block” into your content, then manage the content of the ad in a central place. In most cases you can use these shortcodes in combination with the [membership] shortcode method outlined above.

Alternately, I have seen ads plugins that offer ads widgets. You can use these plugins in combination with the hide widgets for members recipe outlined in this post.

Lastly, if your ads plugin automatically inserts ads on pages or posts, please post a topic on our support forum (Core or Plus membership required) and we can help you locate available filters in your plugin to conditionally display ads based on membership status.

Allow Members to select Country and State via dropdown at Membership Checkout [New Plus Add on]

Simplify sign up and improve data quality by adding a Country and State dropdown selection field to your Checkout Page with the State Dropdown Add on.

View the State Dropdown Add On


How it Works

When the plugin is activated, two dropdown selection fields “Country” and “State” will be automatically added to your checkout form in the Billing Address section. When a user selects a Country, they will then be able to select the appropriate State of the Country that was selected.


Screenshots

When a member selects the Country of their choice, they will be able to select the appropriate States that is relevant to the chosen Country.

United States dropdown selection
United Kingdom dropdown selection

PMPro Plus members can install the add on from the Memberships > Add Ons admin page or download the plugin and manually upload to your WordPress site.

View the State Dropdown Add On

 

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.

Network and Multisite Mega Post for Paid Memberships Pro

If you’re setting up a Network or Multisite environment for WordPress, here’s a summary of different ways you can implement Paid Memberships Pro across the network:


Paid Memberships Pro Cannot be Network Activated

Some plugins allow you to “network activate” across the entire network. Not PMPro.

Using a membership plugin on your multisite network means something different for each use case. So, we’ve built a restriction into the core plugin to not allow network activation. This post covers various ways to use Paid Memberships Pro with your network site, the most basic of which is: treat each site in the network as a separate install and only activate the plugin on each install you need to. Paid Memberships Pro is fully compatibility with the multisite environment, just read this post to see more information on how to properly configure based on your multisite network needs.


Ok, so what is WordPress Multisite?

A multisite network is a collection of sites that all share the same WordPress installation. They can also share plugins and themes.

WordPress.org Codex

This setup adds a new user role “Super Admin” that has visibility into all sites grouped in the network, as well as the ability to create or modify sites, allowed plugins, themes, and users for all sites in the network.

Network sites can share a single domain or each have their own domain name. For example, the main network site may be located at www.network.com, and a subsite can either be located at www.network.com/dogs or www.dogs.com. All of the

View Codex Docs on Creating a Network

1. Membership to a Single Network Site

Separate Paid Memberships Pro environments for each subsite.

Activate Per Site Needed - Membership to a Single Network Site

This is the most basic way to use Paid Memberships Pro in your multisite network. Simply install the plugin via Network Admin > Plugins > Add New.

Then, edit a specific site in your network by hovering over “My Sites” in the left side of the admin bar, select a site from the dropdown, and click “Dashboard”. From here, you can treat the site as a standalone installation. Navigate to “Plugins”, locate “Paid Memberships Pro” in the list, and click “Activate”. Now you are ready to begin the Initial Plugin Setup.

A site visitor can sign up for membership at any site in your multisite network just as if it were a single site. Users who purchase membership at more than one site in your network will use the same user account (username and password) to log in to any site in the network.


2. Sell/Create a Network Site at Checkout

Create a network site for the member as part of membership to the main site using the Member Network Sites Add On.

Member Network Sites Add On - Sell/Create a Network Site at Checkout

Allow a member to purchase one or more sites as part of membership. Once configured, the member can purchase membership at the network’s main site (the primary domain of the network) and specify the “Site Name” and “Site Title” for their new site on the network.

Any sites attached to a member will be deactivated when membership expires or cancels.

You can limit and pre-configure the themes and plugins available to the site created at checkout via the tutorial in this post.

A member’s site on the network can also have the Paid Memberships Pro plugin installed and activated. For example, some businesses use this add on to sell an “Online Training” bundle site, where the site owner can then set up PMPro and create their own membership site in the network.

Member Network Sites Add On Docs and Download


3. Membership Across the Network

Manage memberships at the network’s main site (the primary domain of the network) and provide/restrict access on subsites in the network using the Multisite Membership Add On.

Multisite Membership Add On - Membership Across the Network

Sell a membership level at the main site that provides access to members-only content on a site or sites throughout the entire multisite network. For example, let’s say you have a network site about all types of pet care. You have a main site (www.petcare.com), and a site on the network for various type of pets (birds.petcare.com, cats.petcare.com, and dogs.petcare.com). Using this add on, you could offer a membership to one specific pet’s subsite (Bird Level OR Cat Level OR Dog Level). Then, you could also offer a Premium Level that includes access to all of your pet care subsites.

All of the membership levels and users are managed on the main network site. The subsites look to the main network site’s database to mirror the membership levels available and to check a user’s access.

To configure this add on, you would:

  1. Install Paid Memberships Pro via Network Admin > Plugins > Add New. Do not “Network Activate” the plugin.
  2. On your main network site, activate and configure Paid Memberships Pro by following the Initial Plugin Setup guide.
  3. For each site in your network that has members content, navigate to the site’s Dashboard > Plugins. Activate Paid Memberships Pro AND the Paid Memberships Pro – Multisite Membership Add On.
  4. Make sure that the constant PMPRO_NETWORK_MAIN_DB_PREFIX is properly defined for your main network site. For example:
    define('PMPRO_NETWORK_MAIN_DB_PREFIX', 'wp');

Multisite Membership Add On Docs and Download

 


In summary

I hope this post helps you understand the various ways you can use Paid Memberships Pro on your multisite network. Configuring a multisite environment is an advanced WordPress process, and using the add ons described in this post will require customization via code. Please consult with your developer or our support team for guidance as you implement the methods above.