If you’re using the Network/Multisite Membership Add On, the code recipe below demonstrates (at a high level) how you can limit allowed plugins and themes based on the membership level purchased.


The Code Recipe

Save the code recipe below as a .php file and upload it to the ‘wp-content/mu-plugins’ folder. Update the pmpro_plugins_per_level and pmpro_themes_per_levels globals in the plugin.

This code recipe requires a PMPro Core Account or higher.

View Membership Options


Want more pre-configuration options?

There are many ways to pre-congifure the site that is created at checkout (custom code, this recipe above, or the plugin described below). We’ve guided our PMPro Plus members through this process via the members forums.

One way is to use the pmpro_network_new_site hook to run custom code after a new site is setup. During this action, you can change properties of the admin user, change the default theme, create stub pages, or really run any code you need to. Here is an example that uses the hook to changes new users to the editor role when their site is created.

If you don’t want or need to custom code your setup, or just want an easier way to setup default site layouts, here are a few open source and premium third-party plugins that you can explore. I haven’t tested them all, so if you try one and have success, please post a comment below.

NS Cloner – Site Copier

WP Multisite Replicator (currently $35.95)

New Blog Defaults

Default Blog


Author’s gravatar

This is interesting. I currently use PMpro Network Sites with NEW BLOG TEMPLATES from wpmudev.org pluginhttps://premium.wpmudev.org/project/new-blog-template/

to create sites on signup. What would the code reciepe be in i had more than one “ready made blog template” and i wanted PMpro Network Sites to create sites with a different template based on membership level. i.e IF membership level = 1 then user gets blog id 5 on signup, and IF membership level = 2 then user gets blog id 6 , etc

Reply
Author’s gravatar

Are you asking about how to tweak the wpmudev.org plugin per membership level? I haven’t worked with that plugin before, but if the code is not obfuscated or anything we could probably figure it out in our member forums if you shared the plugin with us.

If you are asking in general, I think creating “template blogs” and then copying settings and data from them is a good way to go about things. The code for this would be too complicated to share here and would depend on what kinds of things you wanted to copy from the template blog. I don’t think there would be an easy way to simply “copy everything” from one blog to another.

Reply
Author’s gravatar

I’m trying to do the exact thing as uche40 mentioned above. After sign up I want to let the user select the templates that I’ve created in NEW BLOG TEMPLATES from wpmudev.org so it’s a smoother experience.

Did you guys ever do anything on this or is it possible?

Author’s gravatar

I haven’t worked with that plugin much, but it sounds like it would be good and should be possible.

Author’s gravatar

By the way I think you should add…. after you upload the code activate the plugin…. 🙂 – I was stuck for hours…..kind of my fault for reading everything exactly and not “Thinking”

Reply
Author’s gravatar

We are interesting in using this plugin to partner with another subscription company, would they have to have PMpro as well?

Reply
Author’s gravatar

Hi,

Is there a way to set various limits per membership plan? For example, the free plan includes a sub-site with 100 MB of storage, Plan A gives you a site with 1 GB, Plan B gives you 20 GB, etc.?

Thanks,

Mark

Reply
Author’s gravatar

Yes. You would use a different filter to limit file upload limits (I’m not sure off hand) and could use the plap_getMembershipId() function to get the membership id of the current user. Then adjust those limits based on level.

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *