Skip to content

Instantly share code, notes, and snippets.

@makbeta
Created June 24, 2013 20:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save makbeta/5853259 to your computer and use it in GitHub Desktop.
Save makbeta/5853259 to your computer and use it in GitHub Desktop.
WordPress: Add custom profile fields to a Theme My Login registration form
/*
1. create custom user fields with wordpress (see https://gist.github.com/makbeta/5851535 )
2. clone `register-form.php` from /wp-content/plugins/theme-my-login/templates to your theme
3. Add your new field to the registration template
*/
<p>
<label for="subscription">Customer ID</label>
<input type="text" name="subscription" id="subscription<?php $template->the_instance(); ?>" class="input" value="<?php $template->the_posted_value( 'subscription' ); ?>" size="20" /><br />
<span class="description">Please enter your customer ID.</span>
</p>
/* Add handling of the field during registration by adding the following to your functions.php */
<?php
// This function can be used for validation such as required fields
function my_registration_errors( $errors, $user_login ) {
// Require "my-field"
if ( empty( $_POST['subscription'] ) )
$errors->add( 'empty_subscription', __( '"Customer ID" is a required field!' ) );
}
// This function will save the custom field to the user meta table
function my_new_user_registered( $user_id ) {
if ( isset( $_POST['subscription'] ) )
update_user_meta( $user_id, 'subscription', $_POST['subscription'] );
}
add_action( 'registration_errors', 'my_registration_errors', 10, 2 );
add_action( 'tml_new_user_registered', 'my_new_user_registered' );
?>
@franciszek77
Copy link

this dont work for me...


    	<label for="basement_number<?php $template->the_instance(); ?>"><?php _e( 'Numéro de chambre au sous-sol', 'theme-my-login' ) ?></label>
    	<input type="text" name="basement_number" id="basement_number" class="input" value="<?php echo $_POST['basement_number']; ?>" size="15" tabindex="20" />

this work for me...

	<?php
		foreach ( wp_get_user_contact_methods() as $name => $desc ) {
	?>
	<tr class="tml-user-contact-method-<?php echo $name; ?>-wrap">
		<th><label for="<?php echo $name; ?>"><?php echo apply_filters( 'user_'.$name.'_label', $desc ); ?></label></th>
		<td><input type="text" name="<?php echo $name; ?>" id="<?php echo $name; ?>" value="<?php echo esc_attr( $profileuser->$name ); ?>" class="shadow regular-text" /></td>
	</tr>
	<?php
		}
	?>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment