Вы должны использовать 'show_user_profile'
, 'edit_user_profile'
, 'personal_options_update'
и'edit_user_profile_update'
крючки.
Вот некоторый код для добавления номера телефона :
add_action( 'show_user_profile', 'yoursite_extra_user_profile_fields' );
add_action( 'edit_user_profile', 'yoursite_extra_user_profile_fields' );
function yoursite_extra_user_profile_fields( $user ) {
?>
<h3><?php _e("Extra profile information", "blank"); ?></h3>
<table class="form-table">
<tr>
<th><label for="phone"><?php _e("Phone"); ?></label></th>
<td>
<input type="text" name="phone" id="phone" class="regular-text"
value="<?php echo esc_attr( get_the_author_meta( 'phone', $user->ID ) ); ?>" /><br />
<span class="description"><?php _e("Please enter your phone."); ?></span>
</td>
</tr>
</table>
<?php
}
add_action( 'personal_options_update', 'yoursite_save_extra_user_profile_fields' );
add_action( 'edit_user_profile_update', 'yoursite_save_extra_user_profile_fields' );
function yoursite_save_extra_user_profile_fields( $user_id ) {
$saved = false;
if ( current_user_can( 'edit_user', $user_id ) ) {
update_user_meta( $user_id, 'phone', $_POST['phone'] );
$saved = true;
}
return true;
}
Этот код добавит поле на ваш пользовательский экран, которое будет выглядеть примерно так:
Есть также несколько сообщений в блоге на эту тему, которые могут быть полезны:
Или, если вы предпочитаете не «свернуть свои собственные», есть плагины, которые добавляют указанные функции, такие как следующие (хотя я уверен, что есть и другие):
Надеюсь это поможет.
Источник: WPBeginner
источник