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

Нужно в админке добавить поле к информации о пользователе, допустим icq, которое можно будет вывести в любом месте на сайте.

Добавить Комментарий
    Ответ

    Данный код добавит поле «Информация о Вас», поле будет с редактором вордпресс.

     /* Дополнительные поля к пользователям */
     add_action('show_user_profile', 'show_my_profile_fields');
     add_action('edit_user_profile', 'show_my_profile_fields');
    function show_my_profile_fields($user) { ?>
     <h3>Дополнительные поля</h3>
     <table class="form-table">
     <tr>
     <th><label for="icq">Информация о Вас</label></th>
     <td>
     <!--<textarea id="to_info" name="to_info"></textarea>-->
     <?php
     $args1 = array('wpautop' => 0
     , 'media_buttons' => 1
     , 'textarea_name' => 'to_info' //нужно указывать!
     , 'textarea_rows' => 20
     , 'tabindex' => null
     , 'editor_css' => ''
     , 'editor_class' => ''
     , 'teeny' => 0
     , 'dfw' => 0
     , 'tinymce' => 1
     , 'quicktags' => 1
     );
     wp_editor(esc_attr(get_the_author_meta('to_info', $user->ID)), 'wp_editor1', $args1);
     ?>
     <br />
     <span class="description">Короткая информация о Вас.</span>
     </td>
     </tr>
     </table>
     <?php }
     /* Сохраняем */
     add_action('personal_options_update', 'save_my_profile_fields');
     add_action('edit_user_profile_update', 'save_my_profile_fields');
    function save_my_profile_fields($user_id) {
     if ( !current_user_can( 'edit_user', $user_id ) )
     return false;
     update_usermeta($user_id, 'to_info', $_POST['to_info']);
     }
     /* Конец Дополнительные поля к пользователям */
     

    Следующий код выведет данную информацию:

     the_author_meta('to_info'); // Вторым параметром к функции можно указывать id пользователя.
     

    Добавить Комментарий

    Ваш ответ

    Размещая свой ответ, вы соглашаетесь с правилами сайта.