Search code examples
wordpressuser-profile

Wordpress add user number field in contact information part


I am wondering how to achieve the following. I try to create a number field input in the wordpress user profile under contact information.

So far if i use show_user_profile & edit_user_profile hooks, the field will appear on the bottom of the profile page.

Is it possible to create a number field under the contact information part (standard in wordpress?)

I tried to add different priorities to the actions, but that didnt solve it.

So far i have the following:

function addurenuser(){
    $userid = get_current_user_id();
    if ( current_user_can('update_plugins',$userid)){ ?>
        <table class="form-table">
            <tr>
            <th>
            <label>Uren</label>
                </th>
                <td>
            <input type="number" name="uren" id="uren" value="<?php echo esc_attr( get_the_author_meta( 'uren', $user->ID ) ); ?>">
            </td>
            </tr>
</table> <?php
    }
}
add_action( 'show_user_profile', 'addurenuser' );
add_action( 'edit_user_profile', 'addurenuser' );

Solution

  • Use this code

    function addurenuser()
      {
        echo '<script>
        jQuery(document).ready(function($){
    $(".your-custom-field").insertAfter($(".user-email-wrap").closest("table"));
        });
        </script>';
        $userid = get_current_user_id();
        if (current_user_can('update_plugins', $userid)) { ?>
        <table class="form-table your-custom-field">
          <tr>
            <th>
              <label>Uren</label>
            </th>
            <td>
              <input type="number" name="uren" id="uren" value="<?php echo esc_attr(get_the_author_meta('uren', $userid->ID)); ?>">
            </td>
          </tr>
        </table> <?php
                    }
                  }
                  add_action('show_user_profile', 'addurenuser');
                  add_action('edit_user_profile', 'addurenuser');