Multi site registration not blog creation

I need a plugin that allows registration to specific multi sites with a registration code. I was hoping Signup Code would do that, but it doesn’t. Any ideas?

  • Ash
    • WordPress Hacker

    Hello @mark

    I hope you are well today and thanks for asking the question.

    Signup code does the job. You need to disable blog creation. Please go to Network Admin > Dashboard > Settings > Network Setting and select “User accounts may be registered.” for “Allow new registrations”.

    Please let us know if that works for you.

    Cheers

    Ash

  • Mark
    • Site Builder, Child of Zeus

    Hi Ash, I’ve granted you access. If you could look for me that would be great. We’re close, but a couple things we need to do.

    Multi-site privacy is on and for the most part, seems to work.

    We’re using gravity forms to have a registration form for individual site users to register. that works too.

    What doesn’t work now is that users can’t get to the custom domain.com/site/register/ page because Multi-site privacy is blocking access to all pages unless logged in. I think if we can exclude that register page from being hidden, this would work.

    Thanks!

    Mark

  • Ash
    • WordPress Hacker

    Hello @mark

    I hope you are well today.

    First of all, by default subsite register is not possible in a multisite. As you developed the register page for each subsite, so I think you have already overcome it.

    So, you have to use all available hooks in your custom page, then signup code will work.

    About the blocking the page by multisite privacy plugin, you have to edit the plugin code. Please go to /wp-content/plugins/sitewide-privacy-options/sitewide-privacy-options.php line no 528 and replace:

    if ( is_numeric($privacy) && $privacy < 0 &&
    !stristr($_request_path, 'wp-activate') &&
    !stristr($_request_path, $register_part) &&
    !stristr($_request_path, 'wp-login') &&
    !stristr($_request_path, 'wp-admin') &&
    !stristr($_request_path, 'xmlrpc') &&
    !stristr($_request_path, 'wp-cron') ) {

    with

    if ( is_numeric($privacy) && $privacy < 0 &&
    !stristr($_request_path, 'wp-activate') &&
    !stristr($_request_path, $register_part) &&
    !stristr($_request_path, 'wp-login') &&
    !stristr($_request_path, 'wp-admin') &&
    !stristr($_request_path, 'xmlrpc') &&
    !stristr($_request_path, 'page-slug-1') &&
    !stristr($_request_path, 'page-slug-2') &&
    !stristr($_request_path, 'page-slug-3') &&
    !stristr($_request_path, 'wp-cron') ) {

    Here you need to replace page slug 1, 2, 3 etc with your page slug.

    Hope it helps :slight_smile: Please feel free to ask more question if you have any.

    Cheers

    Ash

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.