edo.suzuki
Forum Replies Created
Viewing 1 replies (of 1 total)
-
Forum: Plugins
In reply to: [Private groups] Let users Choose at RegistrationHello 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)