В прошлом видеоуроке “Расширенная регистрация и профиль пользователя” из цикла “Расширенная регистрация” мы разобрались как можно сделать регистрацию пользователей с указанием дополнительных полей на wordpress. Теперь пришло время разобраться как вывести эти поля в профиле пользователя. Что бы данный профиль был информативным и радовал глаза пользователей, ведь благодаря дополнительным полям можно сделать например тематическое сообщество.
Видеоурок: Выводим дополнительные поля профиля в worpress
[spoiler name=”Необходимые данныеДля открытия – нажмите“]
И так для начала нам нужно вписать нужные дополнительные поля в профиль, для этого в файле author.php вашей темы вставим такой код в нужном вам месте:
<? if ( $curauth->НАЗВАНИЕ ПОЛЯ ): ?> <div class="user-format">Описание доп. поля: <span class="color-user"><?php echo $curauth->НАЗВАНИЕ ПОЛЯ; ?></span></div> <? endif?>
Вместо НАЗВАНИЕ ПОЛЯ надо заменить на нужное вам значение дополнительного поля.
По аналоги делаем все нужные вам дополнительные поля. Но на этом еще не все, что бы ваши поля заработали надо прописать после
<?php get_header(); ?>
данный код:
<?php global $wp_query;$curauth = $wp_query->get_queried_object();?>
Теперь ваши дополнительные поля должны работать. Так что можете творить с своими профилями все что угодно!
[/spoiler]
Не забываем оставлять свои комментарии : )
16 комментариев
Подскажите, вот в таком вопросе.
В моей теме нет файла author.php, где можно взять его, чтобы не писать вручную? То есть я знаю, что можно накачать тем, и взять из какой-нибудь, где он есть, но может есть способ попроще? ))
И второй вопрос. Как это файл применить? То есть как это использовать, чтобы люди могли перейти на страницу автора? Ведь где-то в шаблоне должна быть ссылка на авторскую страницу, которую получается надо заранее создать…
1. Самое простое это сделать копию page.php – это, что бы страничка автора подходила под ваш дизайн и переименовать в author.php. А начинку выдернуть из стандартных тем (по вкусу) wordpress, там author.php присутствует.
2. В нужном вам месте вставить
этот тег заменяется на ссылку на автора такого вида
Игорь, спасибо за ответы. Все понял 🙂 А вы нигде не писали на тему, того как можно еще вывести список всех авторов с сортировкой по полям?
Нет я не писал, можете посмотреть здесь Список авторов WordPress если покопаться, то можно сделать сортировку по произвольным полям.
Спасибо!
Всё получилось, город и страна заработали.
А вот отобразить не получается.
У меня та же проблема, нет страницы author.php в моей теме.
Скопировал файл из стандартной темы, вставил код на те же места, а не отображается.
Похоже мой wordpress его не видит…
Может приписать фал author.php где-то?
нет author.php нигде прописывать не надо.
А этот код не забыли прописать:
Конечно прописал, в том же месте, все по видео-инструкции.
Может там как-то дескрипшнс после автора нужно активировать? =)
А вообще я делаю это для того чтобы выводились дополнительные данные зарегистрированного автора комментария на странице сата.
Черт у меня видео не загружается
хз. Видео рабочее пробуйте еще раз
А почему добавленые поля не отображаются в профиле в новой версии 3.4.1 по адресу /wp-admin/profile.php?
(Поля добавились только в базу, а мне нужно увидеть их в стандартном профиле пользователя)
Данный код у мне работает на другом сайте и он тоже на wordpress 3.4.1 Проверьте все ли вы правильно сделали.
Такой вопрос- А как удалить не нужные поля, например “fast name” “Biographical Info” и все что связано со сменой пароля? нужно чтобы эти поля просто не отображались на странице пользователя. Установлен плагин Theme My Profile
Об этом писалось в посте “ Расширенная регистрация и профиль пользователя“. А про пароль не знаю и не понятно зачем это? Если пользователь регистрируется на сайте, то у него должна быть возможно менять пароль.
А как бы вывести значения дополнительных полей в комментариях?
Не знаю, не пробовал.