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.
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.
Multisite network setups and configuration is more advanced than setting up a normal WordPress install. It is important to first research whether your site’s needs and requirements can be achieved with a default single site WordPress install before considering a multisite network. If you have basic WordPress experience, it is highly recommended that you reach out to a developer with solid multisite experience as these methods require advanced skills and knowledge of multisite networks.View Codex Docs on Creating a Network
1. Membership to a Single Network Site
Separate Paid Memberships Pro environments for each subsite.
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.
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.
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.
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.
NOTE: Post category access permissions per membership level do not share across network sites automatically.
- You would have to set them up on each site one at a time.
- We recommend avoiding locking posts down by categories unless you have the same categories (in the same order with the same ids) across all sites.
- Setting the same categories in the same order with the same ids may be done before “Multisite Membership” is activated on your new subsite.
- You may also deactivate “Multisite Membership” on existing subsites, configure your categories in the same order with the same ids on the subsite and then reactivate “Multisite Membership”.
To configure this add on, you would:
- Install Paid Memberships Pro via Network Admin > Plugins > Add New. Do not “Network Activate” the plugin.
- On your main network site, activate and configure Paid Memberships Pro by following the Initial Plugin Setup guide.
- 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.
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.