Как добавить дополнительные поля к информации о пользователе?
Решено
Нужно в админке добавить поле к информации о пользователе, допустим icq, которое можно будет вывести в любом месте на сайте.
1 Ответ(ы)
Ответ
Данный код добавит поле «Информация о Вас», поле будет с редактором вордпресс.
/* Дополнительные поля к пользователям */ 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 пользователя.