I have sorted out using the codes above with combination of another code moving phone field. I would like to share these codes with anyone who need them:
/* ADD EXTRA PHONE FIELD INTO USER PROFILE - WORKING */
// Add a phone field into user profile page
add_action( 'show_user_profile', 'extra_user_profile_fields' );
add_action( 'edit_user_profile', 'extra_user_profile_fields' );
function extra_user_profile_fields( $user ) { ?>
<table class="form-table">
<tr id="custom_user_field_row">
<th><label for="Phone"><?php _e("Phone Number"); ?></label></th>
<td>
<input type="text" name="phone" id="phone" value="<?php echo esc_attr(
get_the_author_meta( 'phone', $user->ID ) ); ?>" class="regular-text" /><br />
</td>
</tr>
</table>
<?php } // Saving Phone field
add_action( 'personal_options_update', 'save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'save_extra_user_profile_fields' );
function save_extra_user_profile_fields( $user_id ) {
if ( !current_user_can( 'edit_user', $user_id ) ) { return false; }
update_user_meta( $user_id, 'designation', $_POST['designation'] );
update_user_meta( $user_id, 'phone', $_POST['phone'] );
}
function moving_extra_field() { // Moving Phone field above Password on user
profile page
$screen = get_current_screen();
if ( $screen->id != "profile" && $screen->id != "user-edit" )
return;
?>
<script type="text/javascript">
jQuery(document).ready(function($) {
field = $('#custom_user_field_row').remove();
field.insertBefore('#password');
});
</script>
<?php
}
add_action( 'admin_head', 'moving_extra_field' );
The above codes will display phone field on user profile page, save it and move it above password. Its not my codes; I combined codes on this site.
Enjoy it!
user_contactmethods
. There is no hook immediately below the About section.