<?php
add_action( 'register_form', 'additional_profile_fields' );
function additional_profile_fields() { ?>
<p>
<label><?php _e('First Name') ?><br />
<input type="text" name="first_name" id="first_name" class="input" size="25" tabindex="20" /></label>
</p>
<p>
<label><?php _e('Last Name') ?><br />
<input type="text" name="last_name" id="last_name" class="input" size="25" tabindex="20" /></label>
</p>
<?php }
add_action( 'register_post', 'add_register_field_validate_first_name', 10, 3 );
function add_register_field_validate_first_name( $sanitized_user_login, $user_email, $errors) {
if (!isset($_POST[ 'first_name' ]) || empty($_POST[ 'first_name' ])) {
return $errors->add( 'firstnameempty', '<strong>ERROR</strong>: Please provide a first name.' );
}
}
add_action( 'register_post', 'add_register_field_validate_last_name', 10, 3 );
function add_register_field_validate_last_name( $sanitized_user_login, $user_email, $errors) {
if (!isset($_POST[ 'last_name' ]) || empty($_POST[ 'last_name' ])) {
return $errors->add( 'lastnameempty', '<strong>ERROR</strong>: Please provide a last name.' );
}
}
add_action( 'user_register', 'insert_register_fields' );
function insert_register_fields( $user_id ) {
$first_name = apply_filters('pre_user_first_name', $_POST['first_name']);
$last_name = apply_filters('pre_user_last_name', $_POST['last_name']);
update_user_meta( $user_id, 'first_name', $first_name );
update_user_meta( $user_id, 'last_name', $last_name );
}
Like this:
Like Loading...
I was looking for this example all over the place. Great job man! Why doesn’t WP have this in their Codex? Makes no sense…
What way would you recommend adding some new meta data in this fashion? Here you’re just updating the meta, but what if you wanted some new fields to be added to the user profile?
This post shows how to add additional fields to the profile page.
Thanks, (very useful as well) but I don’t have any issues adding the fields to the profile page.
What I meant is within the initial user registration form above. I suppose the best way is to just use add_user_meta within the “insert_register_fields” method. 🙂
You can use
add_
as well. I tend to useupdate_
since it will add the key/value pair if the key does not already exist.Ah yes, that’s right. Thanks for that reminder 🙂
I try this code on a website on worpress multisite, it’s ok but the validate field function on the hook ‘register_post’ don’t works.
have you an idea?