Controlling how and where users are registered on multi-site

Hi Folks. I've set-up multi-site with Buddypress. BP has been set to use "subsite1.mydomian" as the root.
However, when users register, they are automatically registered to the main site "mydomain"
This means when they go to the admin area they get "mydomain" and "subsite1" on their sites list. They can post to the main blog, which I don't want.
I know I can hide sites list, but that's not very secure as people could simply type the addy and get there.
Any advice on:
how to force registration to subsite1
or how to block mainsite for all registrations?
or best practice?
Best answer will receive a lifetimes supply of imaginary cheese!!
Thanks to all
Mike

  • Mike

    Hi Ari,
    Well, I spent half a day messing with those settings and nothing made any difference.
    So I looked at Buddypress. Enabling multiblog should allow different user groups per site, which would do. So I enabled it. Now Buddypress breaks my site every time I enable it. I set 'multiblog=false' and everything back to before enabled, but it still breaks.
    I'd really like to be able to fix all this without a re-install. Any thoughts?
    Mike

  • aristath

    I know it took me a couple of days to get back to you on this thread but I just had an idea:
    You could simply create a new plugin that will be activated on the main site (domain.com) so that when a user tries to access the dashboard, they will be redirected to your sub-site's homepage.
    How does that sound?
    We could do something similar to what I posted on another issue 3 months ago: https://premium.wpmudev.org/forums/topic/completely-restrict-members-from-logging-into-wp-backend-including-profile#post-367637 and change it to fit your particular use case.

    How does that sound?

    Please advise,
    Ari.

  • Mike

    @aristath
    Thanks for the reply. While it's overkill I've used the Membership plugin to bar the back-end url's - as logged ins need access to subsite admin I can't just block admin area.

    I'm left with a question though, perhaps you can help.
    URL Blocking admin area means no-one can sign up via WP (it verifies email via back-end and this gets thrown out).
    But I need the email verify. So I've set Membership to allow admin for logged out users (since WP blocks this anyway). Once signed up, the Membership then blocks the admin I don't want them seeing.

    What I now want is for WP/BP to deal with all initial sign-ups, then have a 'membership' page for 'upgrades'. But membership has hijacked my registration page.

    How can I 'give it back' to WP/BP? And can I make Membership automatically assign 'free' membership role to new signups done through WP?

    Thanks
    Mike

  • aristath

    What I now want is for WP/BP to deal with all initial sign-ups, then have a 'membership' page for 'upgrades'. But membership has hijacked my registration page.

    How can I 'give it back' to WP/BP? And can I make Membership automatically assign 'free' membership role to new signups done through WP?

    I'm afraid that the Membership plugin will not work if it doesn't handle the registrations!
    If you do, the default memberships role will not be assigned to usrs when they register!
    But Membership does have an integraion with BuddyPress...
    If you simply want to chage the registration form to suit your needs you can do it by editing the template files that are included in the Membership plugin!

    I hope that helps.

    Cheers,
    Ari.

  • Mike

    @aristath
    Yes Ari, I can - but then I lose email verification - and I'm not a coder- more especially, when I hand the site over I don't want to get calls every 3 months when an update breaks my customisations.

    While membership is a strong plugin, the lack of verification for free accounts is pretty dire. I'd consider it a basic essential. Free initial trial is a common way to entice.

    I need some kind of verification. All I want to customise is to help users fill the form correctly - I can do that just by adding text to the Membership signup page.

    As a stand in i tried Erock's captcha plugin- which would at least ensure a human sign-up - but it doesn't work. It rejects all signups as not filling captcha properly, but doesn't show the captcha - so it can't be filled at all...

    So. I either have BP signups which then require users to create a second account if they want membership (as they have no subs at all). Or I use Membership, in which case anyone can sign up using any random email they don't own.

    My first test client signed up four times with the same name/email and PW - at least BP disables duplacated email...

    Ideas please
    Mike

  • Mike

    @aristath

    Hi again.
    We seem to be stuck in a loop of non-understanding.

    I need several states to be true, not just one:

    1) Users are verified when they log in (WP/BP does via email)
    2) Users cannot access ADMIN on root domain
    3) User CAN access admin on sub-domain
    4) Users can go to a page and upgrade membership (although this facility is envisaged for later, when site matures)

    Presently yes, Membership is overkill, but it may be useful later.

    I now have. (visitor=not logged in / member=logged in)

    Visitor allowed admin, as WP blocks.
    BP/WP deals with login - so I get email verification
    Once logged in Membership blocks ADMIN only on ROOT

    I am confused though. When I enable BP registration, it works, does email etc.
    When I look in admin, I have the user. All good.
    When I look in membership, the user is also there, assigned to the 'free plan' just as I want.

    But membership does not apply the url block properly/ Is this what you mean when you say Membership won't work unless is handles reg? Then why does user show up as right subscription etc?

    Or is my url block wrong? This is the format I've used.

    http://weloveourlocals.co.uk/wp-admin/*

    Is that Ok?

  • Mike

    @aristath

    Hi Again, again, again!
    This is starting to drive me mad.

    Currently: User registers on subsite, Membership (on subsite) kicks in and auto-assigns 'intro' level, which should trigger url blocking.
    Blocking doesn't work.

    For fun, I enabled Membership on mainsite too, set it up exactly as subsite. User gets added but assigned no role.
    Blocking doesn't work.

    Manually assigned user role. Blocking doesn't work.

    Lost the will to live.
    Blocking still didn't work!

    Mike

  • Mike

    @aristath

    Making progress.

    Members join at sub1.domain.co.uk
    But then rules about blocking domain.co.uk have no effect (can only block sub1.domain.co.uk/address.
    If I manually go to main domain admin, add member to Membership subscription, set url block, it works.

    So if I'm to use blocking I have to change whole thing so people sign up at main site.

    I really don't want this / I want a sense of separation for the sites.

    Any thoughts on: why it doesn't auto-reg users on main site (even tho it does on sub-dom).

    It reg's them for both sites as far as WP/BP are concerned.

    Mike

  • Mike

    @aristath
    Okay. Mark this resolved.

    I'm going to provide some detail, as I noticed a lot of people struggle with this.

    Thanks Ari for the plugin link. I REALLY wanted to avoid 3rd party plugins. They have a habit of ceasing development and then you have to risk testing other replacements on now 'live' client sites'. That's why I signed up with WPMUDEV, to have a single developer who ought to still be here in a decade!!

    Anyway. I've resorted to the plugin and so job done. I think it's important to clarify, as I found a lot of conflicting info. So here's what I found.

    If you use membership, but allow BP to deal with sign-ups it's ok. Contrary to a lot of advice I've seen, they play nice together. (at least on my set-up).
    On the first OPTIONS screen of Membership, set user-reg to your 'free plan' - new BP handled sign-ups get auto-registered to it and the rules you've made apply.

    To recover the sign-up page, I used URL blocking to ban 'visitors' from the Membership sign-up page, and redirect them to the BP page. (Your membership tries to 'hijack' the sign up button/page, hence url redirect).

    Now I have email verify and Membership 'co-operation'. It seems the best advice is to set Membership etc. to the root. I'm just stubborn and wanted the site my way!

    Setting sign-ups to the root you could use url block, and wouldn't need the plugin.

    Hope that helps anyone else trying to do this.

    Thanks for your patient help Ari.

    Mike

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.