Title: переменная будущего ID пользователя (wp-admin/user-new.php)
Last modified: 12.07.2014

---

# переменная будущего ID пользователя (wp-admin/user-new.php)

 *  Решено [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/)
 * Какой переменной задается **будущий _ID пользователя_** в _[wp-admin/user-new.php](https://ru.wordpress.org/support/topic/%D0%BF%D0%B5%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D0%B0%D1%8F-%D0%B1%D1%83%D0%B4%D1%83%D1%89%D0%B5%D0%B3%D0%BE-user_id/wp-admin/user-new.php?output_format=md)_?

Просмотр 15 ответов — с 1 по 15 (всего 21)

1 [2](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/page/2/?output_format=md)
[→](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/page/2/?output_format=md)

 *  Модератор [Юрій](https://ru.wordpress.org/support/users/yube/)
 * (@yube)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144520)
 * Будущий — никакой. id — [суррогатный ключ](http://ru.wikipedia.org/wiki/%D0%A1%D1%83%D1%80%D1%80%D0%BE%D0%B3%D0%B0%D1%82%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BB%D1%8E%D1%87)
   таблицы users, его можно получить от mysql непосредственно после выполнения команды
   INSERT.
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144521)
 * Я пытаюсь добавить поле в wp-admin/user-new.php
 * Делаю так:
    1. Есть филд который определяет переменную $info_id 2. Дописываю 
   код <?php add_user_meta($user_id, ‘info_field’, $info_id); ?> и жду, что по нажатии
   кнопки Add New User помимо его первого и второго имени в usersmeta добавиться
   еще и строка с информацией из поля $info_id (которая будет соответствовать его
   user_id и иметь meta_key ‘info_field’)
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144523)
 * нашел еще вот эту тему: [http://wordpress.org/support/topic/edit_user_profile-hook-on-add-user-screen?replies=4](http://wordpress.org/support/topic/edit_user_profile-hook-on-add-user-screen?replies=4)
   
   но никак не могу результативно собрать информацию воедино(
 *  Модератор [Юрій](https://ru.wordpress.org/support/users/yube/)
 * (@yube)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144524)
 * См. [http://codex.wordpress.org/Plugin_API/Action_Reference/user_register](http://codex.wordpress.org/Plugin_API/Action_Reference/user_register)
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144528)
 * проблема в том, что он все равно почему-то записывает только в строки со стандартным
   кеем! т.е. добавить юзерку строку first_name1 я не могу((
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144529)
 * попробовал так:
 *     ```
       if ( empty($user_referred_by) )
       		$user_referred_by = '';
   
       	/**
       	 * Filter a user's ref id before the user is created or updated.
       	 *
       	 * @since 2.0.3
       	 *
       	 * @param string $user_referred_by The user's last name.
       	 */
       	$user_referred_by = apply_filters( 'pre_user_user_referred_by', $user_referred_by );
       ```
   
 * * дописал в user.php
 * еще добавил
 *     ```
       function _get_additional_user_keys( $user ) {
       	$keys = array( 'first_name', 'last_name', 'nickname', 'user_referred_by', 'description', 'rich_editing', 'comment_shortcuts', 'admin_color', 'use_ssl', 'show_admin_bar_front' );
       	return array_merge( $keys, array_keys( wp_get_user_contact_methods( $user ) ) );
       }
       ```
   
 * после чего при создании юзера стала появляться нужная строка в базе.
 * Теперь нужно ее заполнять:
 * идем в user-new.php
 *     ```
       // Load up the passed data, else set to a default.
       foreach ( array( 'user_login' => 'login', 'first_name' => 'firstname', 'last_name' => 'lastname', 'user_referred_by' => 'referred',
       ```
   
 * и в форму ставим
 *     ```
       <tr class="form-field">
       		<th scope="row"><label for="user_referred_by"><?php _e('Ref ID') ?> </label></th>
       		<td><input name="user_referred_by" type="text" id="user_referred_by" value="<?php echo esc_attr($referred); ?>" /></td>
       	</tr>
       ```
   
 * но поле по-прежнему остается пустым(((
 *  Модератор [Юрій](https://ru.wordpress.org/support/users/yube/)
 * (@yube)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144530)
 * > * дописал в user.php
 * > идем в user-new.php
 * Вы, что ли, файлы движка меняете? Кто Вас научил плохому? Прекратите. И научитесь
   пользоваться API.
 * В Кодексе дан готовый пример обработки формы.
 * А поле в форму добавляется обработкой хука `register_form`.
 * Оба обработчика можно поместить в свой плагин. На всё про всё — несколько минут.
   Взамен — гарантия, что проделанная работа не исчезнет при обновлении движка.
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144532)
 *     ```
       //1. Add a new form element...
           add_action('user_new_form','myplugin_register_form');
           function myplugin_register_form (){
               $user_referred_by = ( isset( $_POST['user_referred_by'] ) ) ? $_POST['user_referred_by']: '';
               ?>
               <p>
                   <label for="first_name"><?php _e('as Hook','mydomain') ?><br />
                       <input type="text" name="user_referred_by" id="user_referred_by" class="input" value="<?php echo esc_attr(stripslashes($user_referred_by)); ?>" size="25" /></label>
               </p>
               <?php
           }
   
           //3. Finally, save our extra registration user meta.
           add_action('user_new_form', 'myplugin_user_register');
           function myplugin_user_register ($user_id) {
               if ( isset( $_POST['user_referred_by'] ) )
                   update_user_meta($user_id, 'user_referred_by', $_POST['user_referred_by']);
           }
       ```
   
 * и снова пустая meta-value
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144533)
 * или я где-то ошибку допускаю?
 *  Модератор [Юрій](https://ru.wordpress.org/support/users/yube/)
 * (@yube)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144534)
 * > или я где-то ошибку допускаю?
 * Ага. Вы оба обработчика повесили на один хук )
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144535)
 * Выходит, один нужно убрать…. но который? и в каком месте?
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144536)
 * из add_action(‘user_new_form’, ‘myplugin_user_register’);
 * бросить
 *     ```
       function myplugin_user_register ($user_id) {
               if ( isset( $_POST['user_referred_by'] ) )
                   update_user_meta($user_id, 'user_referred_by', $_POST['user_referred_by']);
           }
       ```
   
 * в add_action(‘user_new_form’,’myplugin_register_form’);
    так? или я снова ошибаюсь?
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144537)
 * нет, судя по тому, что не работает — я изрядно ошибаюсь…
 *  Модератор [Юрій](https://ru.wordpress.org/support/users/yube/)
 * (@yube)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144538)
 * Не торопитесь. Давайте мыслить логически. Поле ввода где? В форме. Цепляем вывод
   на хук register_form. Обработка где? После регистрации. Функцию с добавлением
   user_meta цепляем на user_register. Всё.
 *     ```
       add_action('register_form','myplugin_register_form');
       function myplugin_register_form (){
       ?>
               <p>
                   <label for="first_name">Реф.код<br />
                       <input type="text" name="user_referred_by" id="user_referred_by" class="input" value="<?php echo esc_attr(wp_unslash($_POST['user_referred_by'])); ?>" size="25" /></label>
               </p>
       <?php
       }
   
       add_action( 'user_register', 'myplugin_registration_save');
       function myplugin_registration_save( $user_id ) {
           if ( isset( $_POST['user_referred_by'] ) )
               update_user_meta($user_id, 'user_referred_by', $_POST['user_referred_by']);
       }
       ```
   
 * Где-то так. Если не так, то вставляем отладочный вывод и смотрим, что не так 
   пошло.
 *  Автор [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * (@partnerjo)
 * [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/#post-144539)
 * хм… но у меня **/wp-admin/user-new.php** там как-то иначе должно быть…
 * и исходя из его содержимого
 *     ```
       <?php
       /** This action is documented in wp-admin/user-new.php */
       do_action( 'user_new_form', 'add-new-user' );
       ?>
       ```
   
 * получается, что мой первый обработчик «user_new_form», а вот второй….
    может 
   быть _`create-user`_?

Просмотр 15 ответов — с 1 по 15 (всего 21)

1 [2](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/page/2/?output_format=md)
[→](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/page/2/?output_format=md)

 Тема «переменная будущего ID пользователя (wp-admin/user-new.php)» закрыта для 
новых ответов.

## Метки

 * [$user_ID](https://ru.wordpress.org/support/topic-tag/user_id/)
 * [hook](https://ru.wordpress.org/support/topic-tag/hook/)
 * [user-new](https://ru.wordpress.org/support/topic-tag/user-new/)

 * Форум: [Проблемы и решения](https://ru.wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 21 ответ
 * 2 участника
 * Последний ответ: [partner.jo](https://ru.wordpress.org/support/users/partnerjo/)
 * Последняя активность: [12 лет, 2 месяца назад](https://ru.wordpress.org/support/topic/%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d0%b0%d1%8f-%d0%b1%d1%83%d0%b4%d1%83%d1%89%d0%b5%d0%b3%d0%be-user_id/page/2/#post-144561)
 * Статус: решённая

## Темы

### Самые популярные темы

### Темы без ответов

### Без вопроса

### Решённые

### Нерешённые

### Все темы
