Здесь я беру ссылку URL https://www.cssigniter.com/how-to-add-a-custom-user-field-in-wordpress/
Отображение поля пользователя
Как указано в регистрационной форме, действия 'show_user_profile'и' edit_user_profile 'доступны для добавления наших собственных пользовательских полей.Первая срабатывает, когда пользователи видят / редактируют информацию своего профиля, а вторая - когда пользователь (например, администратор) видит / редактирует профиль другого пользователя.Оба действия передают объект WP_User как единственный параметр.Наш предыдущий код, который уже использует эти действия, был таким:
add_action( 'show_user_profile', 'crf_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'crf_show_extra_profile_fields' );
function crf_show_extra_profile_fields( $user ) { ?>
<h3><?php esc_html_e( 'Personal Information', 'crf' ); ?></h3>
<table class="form-table">
<tr>
<th><label for="year_of_birth"><?php esc_html_e( 'Year of birth', 'crf' ); ?></label></th>
<td><?php echo esc_html( get_the_author_meta( 'year_of_birth', $user->ID ) ); ?></td>
</tr>
</table>
<?php
}
Давайте продолжим и изменим год рождения в виде простого текста на элемент ввода, чтобы он мог принимать ввод пользователя.
add_action( 'show_user_profile', 'crf_show_extra_profile_fields' );
add_action( 'edit_user_profile', 'crf_show_extra_profile_fields' );
function crf_show_extra_profile_fields( $user ) {
$year = get_the_author_meta( 'year_of_birth', $user->ID );
?>
<h3><?php esc_html_e( 'Personal Information', 'crf' ); ?></h3>
<table class="form-table">
<tr>
<th><label for="year_of_birth"><?php esc_html_e( 'Year of birth', 'crf' ); ?></label></th>
<td>
<input type="number"
min="1900"
max="2017"
step="1"
id="year_of_birth"
name="year_of_birth"
value="<?php echo esc_attr( $year ); ?>"
class="regular-text"
/>
</td>
</tr>
</table>
<?php
}
Давайте проверим страницу нашего профиля: