Forum Replies Created

Viewing 1 replies (of 1 total)
  • Hello all. Just for further use, here is the code that Scholarty was talking about. It isn’t gorgeous, but it works! I am using the Name and Last name input fields, but if you doesn’t want them you can remove from 1. and 3. You just need to add it to the functions.php file on your theme. Thanks Scholarty!

    //add code for adding first and last name to registration
    
    //1. Add a new form element...
        add_action('register_form','myplugin_register_form');
        function myplugin_register_form (){
        	global $rpg_groups ;
    
            $first_name = ( isset( $_POST['first_name'] ) ) ? $_POST['first_name']: '';
    		$last_name = ( isset( $_POST['last_name'] ) ) ? $_POST['last_name']: '';
            ?>
    		<p>
    		<label for="first_name"><?php _e('Your name:','your-domain') ?><br />
                    <input type="text" name="first_name" id="first_name" class="input" value="<?php echo esc_attr(stripslashes($first_name)); ?>" size="25" /></label>
            </p>
    		<p>
                <label for="last_name"><?php _e('Last name:','your-domain') ?><br />
                    <input type="text" name="last_name" id="last_name" class="input" value="<?php echo esc_attr(stripslashes($last_name)); ?>" size="25" /></label>
            </p>
    
    	 	<table class="form-table">
    			<tbody>
    				<tr>
    					<th><label for="bbp-private-groups"><?php esc_html_e( 'Group', 'private-groups' ); ?></label></th>
    					<td>
    						<select name="bbp-private-groups" id="group">
    						<?php global $rpg_groups ;
    							if (empty( $rpg_groups ) ) : ?>
    
    							<option value=""><?php esc_html_e( '— No groups yet set up —', 'private-groups' ); ?></option>
    
    							<?php else : ?>
    							<?php $private_group = get_user_meta($user_id, 'private_group', true); ?>
    								<option value="" selected="selected"><?php esc_html_e( '— No group —', 'bbpress' ); ?></option>
    							<?php endif; ?>
    
    							<?php foreach ( $rpg_groups as $group => $details ) : ?>
    								<option <?php selected( $private_group, $group ); ?> value="<?php echo esc_attr( $group ); ?>"><?php echo $group.' '.$details ; ?></option>
    							<?php endforeach; ?>
    						</select>
    					</td>
    				</tr>
    			</tbody>
    		</table>
            <?php
        }
    
        //2. Add validation. In this case, we make sure first_name is required.
        add_filter('registration_errors', 'myplugin_registration_errors', 10, 3);
        function myplugin_registration_errors ($errors, $sanitized_user_login, $user_email) {
    
            if ( empty( $_POST['first_name'] ) )
                $errors->add( 'first_name_error', __('<strong>ERROR</strong>: You must include a first name.','mydomain') );
    		if ( empty( $_POST['last_name'] ) )
                $errors->add( 'last_name_error', __('<strong>ERROR</strong>: You must include a last name.','mydomain') );
    
            return $errors;
        }
    
        //3. Finally, save our extra registration user meta.
        add_action('user_register', 'myplugin_user_register');
        function myplugin_user_register ($user_id) {
            if ( isset( $_POST['first_name'] ) )
                update_user_meta($user_id, 'first_name', $_POST['first_name']);
    		if ( isset( $_POST['last_name'] ) )
                update_user_meta($user_id, 'last_name', $_POST['last_name']);
    
            $private_group = ( $_POST['bbp-private-groups'] ) ;
    		// Update town user meta
    		if ( !empty( $private_group ) )
    			update_user_meta( $user_id, 'private_group', $private_group);
    
    		// Delete town user meta
    		else
    			delete_user_meta( $user_id, 'private_group' );
    	}
Viewing 1 replies (of 1 total)