Join My Multisite


This plugin is for Multisite instances only.

When you want to add a user to every site on your network, you’ve got some pretty cool plugins for that as a network admin. But sometimes you want to let your site-managers have that control, and sometimes you want to make it optional.

By activating this plugin, you give your Site Admins the following options:

  • Auto-add users
  • Have a ‘Join This Site’ button in a widget
  • Keep things exactly as they are
  • Create a per site registration page
  • Use a shortcode to put a ‘join this site’ button on any page/post.

It’s really that simple!

If they decide to auto-add, then any time a logged in user visits a site, they will be magically added to that site. If they decide to use a ‘Join This Site’ button, then they can customize the button message text for users who are logged in but not members, not logged in, or already members. Don’t worry, if you have registration turned off, they won’t see the ‘register’ button.

When you have registration turned on, each site can chose to use ‘Per Site Registration,’ which will allow them to create a page on their site just for registrations and signups. To display the signup code, just put [join-my-multisite] on the page.


  • Menu
  • Widget
  • Sample per-site registration front end


This plugin is only network activatable. Configuration is done per-site via a page in the ‘Users’ section.


Installation Instructions

This plugin is only network activatable. Configuration is done per-site via a page in the ‘Users’ section.

This doesn’t work if I’m not using Multisite

It’s not supposed to. “Join My Multisite“, eh?

What happens if the network doesn’t allow registrations?

If registration is turned off, the widget won’t display anything for logged-out users.

The [join-my-multisite] shortcode will display a notice that registration is unavailable.

How do I use the per-site registration page?

None of this will work if the Network Admin has not enabled registrations.

First make a page for your registration. You can name it anything you want, however you can only use top-level pages (so and not On that page, enter the shortcode [join-my-multisite] around any other content you want.

Next, go to Users > Join My Multisite and check the box to allow for Per Site Registration. Once that option is saved, a new dropdown will appear that will let you select a top-level page on your site. Select which page, and you are good to go.

Can I put a button for signups on a page or in a post?

Yep! Use [join-this-site]

If I use the per-site registration, do I have to use the widget?

Nope! In fact, you can even select ‘none’ (i.e. leave things as they are) and still use the per-site shortcode, because magic.

What if the network allows registration and I don’t make a site page?

Then non-logged-in users will be redirected to the network registration page, and they may not be automatically added to your site (I’m working on that). I strongly suggest you create a page.

How do I style the button?

By default it will pick up whatever style your theme has, so if it styles buttons, you’ll automatically match. If you want more, the css is input#join-site.button to play with the button.

How do I style the per-site registration page?

In your theme’s CSS. This is basically the default WordPress signup page, just done in short-code form, so it will default to use your site’s CSS anyway. The css falls under .mu_register of you want to override it in your theme.

Can users sign up for a blog and an account via this plugin?

No. That’s such a massive network thing, the tinfoil hat in me didn’t want to do it. You could fiddle with the signup page code, if you wanted, but I don’t plan to support it.

Is this BuddyPress compatible?

As far as the BuddyPress basics go (one instance, network activated) it seems to, however it’s not supported at this time. One user reported that with BP and JMM active, they weren’t getting any emails for registration, so it’s probably best to be used as a ‘Join if you’re logged in’ thing, versus a ‘Sign up on this site’ one.

Can I set global options?

At this time, no. I don’t have any interest in making per-site registration pages that are controlled by the network admin. You’re welcome to fork or submit a pull request on the github repository –

How can I personalize my widget for members?

This usually means you want to have something like “Howdy, Membername!” show in the widget, versus the default “Nice to see you again.” For that you want to filter jmm_member_welcome() like this:

function filter_jmm_member_welcome( ) {
    global $current_user;
    $welcome = 'Howdy, '.$current_user->display_name.'!';
    return $welcome;
add_filter('jmm_member_welcome', 'filter_jmm_member_welcome');


Beyond Fantastic

I’ve used multisite for years but now for the first time have a need to have users self create authoring accounts on one subsite. This plugin covers all the bases for enabling only where needed (I might suggest in the notes it requires network activation but by default is turned off).

Mika’s work is always well designed and appreciated

Brilliant, thank you!

I had to log in just to rate this one because it’s so good. It solved one of the biggest (the only?) issue I’ve had with WordPressMU. Easy. 🙂

Great plugin!

I had problems of my own creating and the plugin author very patiently answered a bunch of questions while I was trying to figure out the problem (Answer: ALWAYS CLEAR YOUR CACHE!)

So thank you for the great plugin!

Great plugin that does exactly what he announces

I am using this plugin for avoiding the default multisite redirecting suff while registration. In my case I am using unrelated subsites and it makes no sense to have global registration. With this plugin having per-site registration is easy and painless.


Read all 23 reviews

Contributors & Developers

“Join My Multisite” is open source software. The following people have contributed to this plugin.


Translate “Join My Multisite” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



30 June, 2017

  • Remove need for JMM_PLUGIN_DIR define
  • Warning for people who don’t have registrations open (seriously?)


08 December, 2016

  • Made widget ‘welcome’ for logged in users filterable
  • Changed shortcode ‘welcome’ for logged in users to announce username.