Adding extra fields to front end signup form

You can read a somewhat extensive tutorial over at:

http://www.cozmoslabs.com/1012-wordpress-user-registration-template-and-custom-user-profile-fields/

Basically this is what you’re going to be using to add them to the backend:

add_action( 'show_user_profile', 'show_extra_profile_fields', 10 );
add_action( 'edit_user_profile', 'show_extra_profile_fields', 10 );

function show_extra_profile_fields( $user ) { ?>
    <input type="text" name="twitter" value="<?php echo esc_attr( get_the_author_meta( 'twitter', $user->ID ) ); ?>" />
<?php }

and to save them when the user or admin updates the profile:

add_action( 'personal_options_update', 'save_extra_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_profile_fields' );

function save_extra_profile_fields( $user_id ) {
    if ( !current_user_can( 'edit_user', $user_id ) )
        return false;
    update_usermeta( $user_id, 'twitter', $_POST['twitter'] );
}

Next step is to add/save these extra fields to the form you’re building and use:

update_usermeta( $new_user, 'twitter', esc_attr( $_POST['twitter']  ) );    

to save them from the front-end when the user registers.