Support » Plugin: Join My Multisite » Not Working Correctly

  • Resolved Vanish.Sequence


    Ok, so I am using your plugin in hopes that it would allow me to disable network wide registration upon creation of account, well, after a little bit of testing, it does not do this.

    My guess is because of my WishList Member plugin, and it is able to read network wide members.

    So it doesn’t allow this.

    Next issue I have is I need to be able to at least allow for me to input certain code in that does this

    – User A Visits Blog A
    – User A Clicks Register for Blog A
    – User A is prompted for a username, first name, last name, email, and password, as well as License Key (invite code 1 [Easy Invite]) and course key (CM Invite Codes – Tied to WishList Member)

    – User A fills out all forms and enters correct code for license key and course key.
    – User A is now signed up
    – User A visits Blog B
    – User A is not able to log in
    – User A registers with the same criteria as before (except different invite codes tied to different memberships)
    – User A enters correct information
    – User A is now signed up with Blog A and Blog B with same username and password.

    This is kind of a complex set, and I am not exactly a developer, so I do not know how to accomplish this.

    Help would be very appreciated, thank you!

Viewing 10 replies - 1 through 10 (of 10 total)
  • Ok, so I am using your plugin in hopes that it would allow me to disable network wide registration upon creation of account, well, after a little bit of testing, it does not do this.

    Well … no. It won’t because your account is ALWAYS network wide. That’s how Multisite works. You get an account on the network, and then give it permissions for each site. The plugin has no intentions to alter that in any way.

    Users will always be able to log in to all sites on the network, but when they log in to (for example) blog B, they won’t have any access.

    Does this wishlist plugin work at all on Multisite?

    Yes, however I just learned that it is still in beta for the most part.

    Now when you say Always work network wide, I know that it is default and so far I have found no way of stopping that to the best of my knowledge.
    Do you know of any way to stop that aside from moving away from multisite? I get awesome control that I need from it.

    My idea is this, PHP Plugin creates alternative user table in the MySQL database per blog, that is the only thing I can think of on my end. Like I said, not a developer, but understand the code to a point.

    Is there any way to accomplish this?

    Based on my understanding, there is a way to override registration in WordPress, and there is a way to create alternative registration pages OR change the functionality of the registration form.

    Is there a way to perhaps do this? That would be my goal here really, is to modify the actual registration core to enter an entry into an alternative database as defined by a plugin that works network wide.

    Perhaps I am in the wrong area for asking this, but I figure its worth a shot to ask here.

    Not really. The whole point of Multisite is to have one user base for every site on your network, so they’re always going to be in the network.

    However, I think we’re hitting the wrong angle. You just want people who aren’t MEMBERS of a site not to have access, right?

    Yes, however the way I am doing this is I am running a membership with WishList Member, and invite codes, two of them

    – Easy Invite
    – CM Invite Codes

    The Easy Invite is acting as the first authenticator (it’s also a way of sales for our product)

    The CM Invite Codes is what is tying into the WishList Member’s membership level, and giving them access based on it.

    So, the issue that I am having is that I need to be able to ensure that members are still entering this data (the invite codes) in order to subscribe to the blog.

    What happens if they are not doing this is:
    1. They do not get access to the material they need
    2. They do not have a way to gain access

    The product is rather complex and long to explain all of it, but essentially that is what I need to achieve the proper functionality of my product.

    I believe in breaking a problem into manageable parts 🙂 As I understand it, here’s your world:

    1) Users can only register for the network IF they have an Easy Invite.

    2) Users only have access to specific sites. If they’re not a member of that specific site, they don’t get to see anything (or get redirected, same general idea).

    3) Users can only GET added to specific sites if they have a CM Invite Code.

    I know you have WishList membership involved, but put that to the side for a moment, and let’s look at the overview. Did I get it right?

    If so, #1 should be doable via signup_extra_fields() — Here’s a simple example:

    You’ll want to have yours run a function check on the data input, but that’s exactly the same as if you’re using my plugin or not, I don’t obviate the code, I duplicate 🙂 Everything remains as hookable as it was before. Keep in mind, the hook will work for ALL sites, so everyone gets the same bits added. You’d have to put in a lot of site checks to work around that.

    For #2, giving users access to only sites of which they are members, that’s also outside the world of my wee plugin, but also totally do-able.

    One of these plugins would be what you want. Basically you give specific users access to whatever site, and change the privacy level to “registered users only” or “blog users only.”


    Finally you get #3, which is the hard one. Making sure only people who enter a code can get added to each individual site. The first thought that comes to mind is to use the secret shortcode that’s coming in the next release: [join-this-site]

    That adds, essentially, the widget as a shortcode to any post you want. So in your case, you could wrap a check for the CM invite code, and once they enter that, it’d show the button. The trouble being I don’t know anythgin about that code to even begin to suggest how you’d do that.

    The scenario is more or less correct, however for the sake of clarification to ensure you understand the complete world it goes as such:

    – People may join the network, and begin adding to their sites

    – People in order to join the first site need an Easy Invite code to gain access

    – People in order to get the membership needed, they need the CM Invite Code

    – The Easy Invite and CM invite both live within the core registration

    – Once the user is signed up, they have access to the blog they just signed up for, as well as the material

    === Here is where the problem lies ===

    – Once a user is signed up to the network, that’s it, their in. There is no need to register, therefore no access to input the invite codes is there

    – Now when user visits the next blog, they are unable to join the appropriate blog because the need to input the invitation codes are lost, due to the need for a single sign up.


    I myself do not know how to accomplish this as far as code is concerned. Perhaps if you are able to write up a quick step by step modifications guide as far as what needs to be modified (as far as what to do [if the previous doesn’t work in this situation]) I would be very appreciative.

    – Now when user visits the next blog, they are unable to join the appropriate blog because the need to input the invitation codes are lost, due to the need for a single sign up.

    True, but you can use plugins to redirect users if they’re logged in but not a member of that specific site. And you can use that redirect to send them to a page where they fill in your code and are then added.

    But that’s all VERY custom work, and I don’t have the time to sit and bang on it. If I can think of a way to wrap hooks into the join button and have it validate that, I will, but I don’t know off the top of my head. If CM Invite let you use a shortcode to require a logged in user to enter it before showing content, that would be kind of perfect, since you could nest the join button in there.

    FWIW, the plugin is working correctly, and as intended. It’s that the per-site join button isn’t hookable that’s the ‘problem’, and it’s not really a problem so much as a feature request that I’m not sure how I’d be able to meet.

    CM Invite codes does not work with shortcodes unfortunately, however, WishList Member does. That has shortcodes that defines protected content per usergroup.

    My apologies about the “not working correctly” as I misunderstood the plugin from what I read.

    If getting this done would require a dummy site with these features, I can provide this for you, complete with the plugins that make things function, as well as a setup for what we are working with, and we can touch base on skype if that is not an issuee

    And if we can get this working correctly, once the product launches, I would be more than happy to throw some money your way as a thank you for your support on getting this product launched.

    And we can also touch base on other potential plugins and such, and the opportunities can grow from there.

    Let me know what you think.

    (This product is looking to be backed by McGraw Hill, a major educational distributor, and some potential others, it’s a matter of getting it launched.)

    Shoot me an email if you are interested:

    (product is still in development of course. but most is ready to roll out.)

    Alas what I’m lacking most is spare time! 😀 I have ‘make a per-site join button hookable’ on my to do list now.

    FYI – The code you want to look at is what I have in lib/shortcode.php at function jmm_shortcode_thissite_func()

    The fundamental part you want to mess with is this:

    if( !is_user_member_of_blog() ) {
        	// If user IS logged in, then let's invite them to play.
            <form action="?jmm-join-site" method="post" id="notmember">
            <input type="hidden" name="action" value="jmm-join-site">
            <input type="submit" value="<?php _e( 'Join This Site' )?>" name="join-site" id="join-site" class="button">
        } else {
        	// Otherwise we're already a member, hello, mum!
            ?><p><?php _e( 'Howdy, Member!' )?></p><?php

    That’s where I need to make it hook so you can put in whatever you want.

    Thank you for your support, I look forward to hearing of your release :).

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Not Working Correctly’ is closed to new replies.