Intereting Posts
WP_Query получает сообщение из категории и из другого типа сообщения Добавить категории и теги для WP User FrontEnd сохранение данных типа персонализированного сообщения в другую таблицу в wordpress Как получить последовательность запуска крюка WordPress? $ _GET не работает в WordPress 3.1? Интеграция API с WordPress Изменить регистрацию пользователя Получить список телефонных номеров пользователей и имени задачи с помощью wp_usermeta, задач и таблиц гива. Как получить правильный URL-адрес на моем сайте WordPress? Получить термины из нескольких таксономий Как добавить значок в новый элемент панели управления? Изменить тему на страницу или сообщение Добавьте настраиваемый мета-поле в параметрах post, которые загружают некоторый код html в заголовок Добавить настраиваемое поле для всех сообщений в определенном post_type Как я могу предварительно указать URL-адрес кнопки добавления медиафайла

Как добавить поля пользовательской формы на страницу профиля пользователя?

Страница профиля пользователя имеет следующие поля:

имя пользователя
Имя
Фамилия
Псевдоним пользователя Имя в контакте Контактная информация E-mail Сайт AIM Yahoo IM
Jabber / Google Talk

Как добавить дополнительные поля в этот раздел. Поле, такое как номер телефона, адрес или что-то еще.

Solutions Collecting From Web of "Как добавить поля пользовательской формы на страницу профиля пользователя?"

Вам нужно использовать '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; } 

Этот код добавит поле на ваш пользовательский экран, который выглядит примерно так:

Есть также несколько сообщений в блоге по этому вопросу, которые могут быть полезны:

  • Добавление и использование полей пользовательского профиля пользователя
  • Добавление дополнительных полей в профиль пользователя WordPress

Или, если вы предпочитаете не кататься самостоятельно, есть плагины, которые добавляют указанные функции, такие как следующие (хотя я уверен, что есть и другие):

  • Дополнительные поля пользователя Cimy
 // remove aim, jabber, yim function hide_profile_fields( $contactmethods ) { unset($contactmethods['aim']); unset($contactmethods['jabber']); unset($contactmethods['yim']); return $contactmethods; } // add anything else function my_new_contactmethods( $contactmethods ) { //add Birthday $contactmethods['birthday'] = 'Birthday'; //add Address $contactmethods['address'] = 'Address'; //add City $contactmethods['city'] = 'City'; //add State $contactmethods['state'] = 'State'; //add Postcode $contactmethods['postcode'] = 'Postcode'; //add Phone $contactmethods['phone'] = 'Phone'; //add Mobilphone $contactmethods['mphone'] = 'Mobilphone'; return $contactmethods; } add_filter('user_contactmethods','my_new_contactmethods',10,1); add_filter('user_contactmethods','hide_profile_fields',10,1); не // remove aim, jabber, yim function hide_profile_fields( $contactmethods ) { unset($contactmethods['aim']); unset($contactmethods['jabber']); unset($contactmethods['yim']); return $contactmethods; } // add anything else function my_new_contactmethods( $contactmethods ) { //add Birthday $contactmethods['birthday'] = 'Birthday'; //add Address $contactmethods['address'] = 'Address'; //add City $contactmethods['city'] = 'City'; //add State $contactmethods['state'] = 'State'; //add Postcode $contactmethods['postcode'] = 'Postcode'; //add Phone $contactmethods['phone'] = 'Phone'; //add Mobilphone $contactmethods['mphone'] = 'Mobilphone'; return $contactmethods; } add_filter('user_contactmethods','my_new_contactmethods',10,1); add_filter('user_contactmethods','hide_profile_fields',10,1); не // remove aim, jabber, yim function hide_profile_fields( $contactmethods ) { unset($contactmethods['aim']); unset($contactmethods['jabber']); unset($contactmethods['yim']); return $contactmethods; } // add anything else function my_new_contactmethods( $contactmethods ) { //add Birthday $contactmethods['birthday'] = 'Birthday'; //add Address $contactmethods['address'] = 'Address'; //add City $contactmethods['city'] = 'City'; //add State $contactmethods['state'] = 'State'; //add Postcode $contactmethods['postcode'] = 'Postcode'; //add Phone $contactmethods['phone'] = 'Phone'; //add Mobilphone $contactmethods['mphone'] = 'Mobilphone'; return $contactmethods; } add_filter('user_contactmethods','my_new_contactmethods',10,1); add_filter('user_contactmethods','hide_profile_fields',10,1); не // remove aim, jabber, yim function hide_profile_fields( $contactmethods ) { unset($contactmethods['aim']); unset($contactmethods['jabber']); unset($contactmethods['yim']); return $contactmethods; } // add anything else function my_new_contactmethods( $contactmethods ) { //add Birthday $contactmethods['birthday'] = 'Birthday'; //add Address $contactmethods['address'] = 'Address'; //add City $contactmethods['city'] = 'City'; //add State $contactmethods['state'] = 'State'; //add Postcode $contactmethods['postcode'] = 'Postcode'; //add Phone $contactmethods['phone'] = 'Phone'; //add Mobilphone $contactmethods['mphone'] = 'Mobilphone'; return $contactmethods; } add_filter('user_contactmethods','my_new_contactmethods',10,1); add_filter('user_contactmethods','hide_profile_fields',10,1); 

Надеюсь это поможет.

Источник: WPBeginner