Skip to:
Content
Pages
Categories
Search
Top
Bottom

Clean professional user registration?

  • Avatar of jorrie
    jorrie
    Participant

    @jorrie

    I LOVE this website : http://pro.gigaom.com/

    Could not believe it runs on wordpress first time, what a pro theme indeed.

    It has very nice user registration without any of the wp-login.php and wp-signup.php files.

    How would one create such registration? Is there a plugin or do I have to custom code ( IM php dev, so that would be no problem) The only thing I could think of is copy the wp-login.php and signup.php and rename them, then recode them to use different templates and the way I would like, like the way on pro.gigaom.com

Viewing 18 replies - 1 through 18 (of 18 total)
  • Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    I need a more professional member registration as well. I’ll use this excellent plugin which allows login with email address, but there are a lot of other annoying issues I still have to solve:

    Restructuring registration process to an industry standard

    How to use full name, first name + last name

    Make 2+ part name in full name required + xprofile_sync_wp_profile()

    Autogenerate or remove username

    Generate username (+ blog url) from fullname

    Use full name in confirmation emails

    ListMessenger (or PHPlist) integration – plugin?

    I’m not sure how much GigaOM actually changed. Their form looks a lot like the regular Buddypress (?) registration, minus that annoying username. Not sure how they did that.

    They’re not using Buddypress, are they?

    Most of it is just a radically customized theme. I suspect they probably also use one of the commercial member subscription plugins.

    I’m working on my new site here. The old site has a registration system based on PunBB. I’m not a PHP programmer, so please keep us posted on any progress you make.

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    Had another look at GigaOm’s form. They have log in with email address and password and somehow managed to get rid of the username.

    Step 2 lists their subscription packages and asks for credit card details etc. Still no username/nickname/blogname.

    I’d like to know how they did it. The source mentions Kissmetrics and there’s a class called “zend_form”. Probably custom code?

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    BTW, the system lists this thread as ’3 posts, 1 voice – Latest reply from jorrie’. Nice illustration of how unreliable user management is…

    Avatar of Roger Coathup
    Roger Coathup
    Participant

    @rogercoathup

    I’d love to get rid of the username too.

    The whole registration process / form is pretty awful compared to the rest of the system. With all the form layout and options seemingly part of the core code (in bp_core_signup_signup_user).

    Does anyone know how to edit the registration form without hacking core code?

    Similarly any ideas how to get rid of username?

    Avatar of r-a-y
    r-a-y
    Moderator

    @r-a-y

    @Peter + Roger,

    You might want to pick Mark’s brain as to how he created the registration system and removed the username:

    http://markjaquith.wordpress.com/2009/05/28/gigaom-pro-launches-on-wordpress-and-buddypress/

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    Rogercoathup, if I can figure out this plugin, autogenerating a username from fullname is probably a small step that can be included in the same plugin. The big question is how to take fullname from the registration input (field_1) to do stuff with in a function. I think I’m getting closer, after about four months…

    Will get back to that later in the coming week.

    r-a-y, I doubt GigaOm would be eager to share their trade secrets. I’m also a bit of a potential competitor to them. Shh…

    Avatar of Jeff Sayre
    Jeff Sayre
    Participant

    @jeffsayre

    As r-a-y points put, Mark Jaquith, one of the few lead developers for WordPress, was hired to build a highly-customized version of WPMU + BuddyPress for Gigaom. Mark of course is intimately aware of the intricacies of the WP codebase and I’m sure had an easier time customizing the project than would the vast majority of coders.

    But, the Gigaom site does demonstrate what is possible with WPMU + BP if you are willing to become well-versed in the codebase or have deep-enough pockets to hire out professional talent.

    Avatar of Roger Coathup
    Roger Coathup
    Participant

    @rogercoathup

    @r-a-y: thanks for the pointer… have left Mark a comment, will see if he’s willing to ‘spill the beans’ on this one.

    And giving the second part a bump: Anyone spot a hook that allows the registration form to be modified, without hacking the core code?

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    In my template functions.php has this function:

    function bp_show_register_page() {
    global $bp, $current_blog;

    require ( BP_PLUGIN_DIR . '/bp-core/bp-core-signup.php' );

    if ( $bp->current_component == BP_REGISTER_SLUG && $bp->current_action == '' ) {
    bp_core_signup_set_headers();
    bp_core_load_template( 'register', true );
    }
    }
    add_action( 'wp', 'bp_show_register_page', 2 );

    I guess I’ll just make a copy of bp-core-signup.php, modify it as needed and change the link in this function. Just redirect the whole process to custom code based on the original BP code.

    Not really a hook, but that would be a way to leave the core code intact.

    I’ll get back to this later this week…

    Avatar of Jeff Sayre
    Jeff Sayre
    Participant

    @jeffsayre

    I wouldn’t put any more time into this issue as custom registration/signup templates will be possible in v1.1.

    Avatar of r-a-y
    r-a-y
    Moderator

    @r-a-y

    I wouldn’t put any more time into this issue as custom registration/signup templates will be possible in v1.1.

    Big thumbs up here!

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    Excellent news Jeff Sayre! Any improvement in registration/signup is very welcome.

    I still need to finish my site before Labor Day though…

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    BTW, how will fullname/firstname+lastname be handled in the new version? Will it be synchronized with wp_usermeta? Or will there be built-in fields in xprofile? Or another solution?

    Will there be an option to make them required? Will you offer an option to autogenerate username from fullname?

    Trying to decide which way to go for temporary solutions.

    Avatar of Jeff Sayre
    Jeff Sayre
    Participant

    @jeffsayre

    @Peterverkooijen-

    As far as I know, there will not be any underlying changes to WPMU’s database schema (design). Therefore, it will be the same old issues you’re trying to address. But, being able to design a custom registration page will help to address some of the current systems short comings.

    This all comes back to what we have discussed in the past. WPMU–in its current incarnation–is blog-centric, not user-centric. Until that gets addressed, the only option is to custom code work arounds.

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    Thanks for the additional info Jeff Sayre! Now at least I know I’m not wasting my time. ;-)

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    Temporary solution how to customize registration form until 1.1 arrives, FYI and my own reference:

    Changed this line in function bp_show_register_page() in functions.php in my template:

    require ( BP_PLUGIN_DIR . '/bp-core/bp-core-signup.php' );

    to

    require ( 'custom-signup.php' );

    Copied bp-core-signup.php to the template folder, renamed to custom-signup.php.

    Go customize! :-)

    Unfortunately the custom fields are generated by yet another core function:

    do_action( 'signup_extra_fields', $errors );

    This action is associated with the function xprofile_add_signup_fields in bp-xprofile/bp-xprofile-signup.php.

    Copied the function to bp-custom.php, renamed action and function to custom_signup_extra_fields and custom_xprofile_add_signup_fields.

    Used this CSS trick to hide the avatar upload. Will use the same trick to hide the username field.

    Avatar of Peterverkooijen
    peterverkooijen
    Participant

    @peterverkooijen

    The html of the custom xprofile fields is generated by yet another function; get_edit_html() in bp-xprofile-classes.php. So if you want to change anything in the custom fields, including the * for required fields, you’ll need to copy/rename that function to bp-custom.php as well.

    EDIT: …which is not straightforward:

    Fatal error: Call to undefined method BP_XProfile_Field::custom_get_edit_html() in /serverpath/wp-content/mu-plugins/bp-custom.php on line 256

    Avatar of Jeff Sayre
    Jeff Sayre
    Participant

    @jeffsayre

    get_edit_html() is a method in the BP_XProfile_Field Class. You will not be able to stick it into bp-custom.php and expect it to work. That is not how methods function.

    Also, this method will be deprecated in v1.1. I would recommend that you look at the v1.1 code in trunk. Otherwise, your custom coding may not function the way you expect when you upgrade.

Viewing 18 replies - 1 through 18 (of 18 total)

You must be logged in to reply to this topic.