n-wp.ru — блог о WordPress
Как добавить дополнительные контактные данные в профиль пользователя | n-wp.ru

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

Если вы зайдете в профиль пользователя и посмотрите на контактные данные, то увидите примерно такую картину:

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

А теперь скажите, много вы знаете пользователей рунета, у которых есть AIM и Yahoo IM? Если между AIM и ICQ еще можно с натяжкой поставить знак равенства, то пользователей Yahoo IM я знаю только одного, но он из Италии. Так что эти контактные данные совершенно бесполезны в наших широтах. А вот контактного поля для Twitter и Facebook, которые так популярны не только у нас, в профиле нет. Давайте исправим это.

Для того, чтобы добавить дополнительные поля в контактной информации пользователя, создадим несколько дополнительных фильтров. Откройте файл functions.php и вставьте в него такой код:

Благодаря тому, что WordPress сейчас умеет автоматически преобразовывать логины из Facebook и Twitter, мы с помощью этого кода вставили поля для ввода этих логинов в контактные данные пользователя. Так же мы убрали неиспользуемые поля IM. Теперь контактные данные выглядят вот так:
Как добавить дополнительные контактные данные в профиль пользователя

Вы можете подкорректировать этот код с учетом своих предпочтений.

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

10 комментариев

  • Делал плагин, которые позволяет делать почти тоже самое, только все в админки — вообщем для простого пользователя — http://my-wordpress.ru/plugin/extend-profile-pts-wopdpress.php

    Советую посмотреть в сторону плагина Extend Profile PTS, поможет сократить много времени. Да и код между шаблонами не придется таскать каждый раз.

    • Спасибо за плагин!
      Только жаль, что он не умеет пока что добавлять произвольные контактные поля в настройках — все равно приходится вручную редактировать, и смысл его использования пропадает.

      • Не совсем понял про произвольные поля.

        Админ в настройках 1 раз придумывает новые произвольные поля, а пользователи в своем профайле их заполняют каждый сам.

  • Я извиняюсь, а есть ли код, чтобы пользователь мог заполнить некоторые поля только один раз, как в примере с именем пользователя — Имя пользователя изменить нельзя, или только администратором.
    Просто хотелось бы, чтобы пользователи не баловались со своими именами, фамилиями и твиттерами.

    • Думаю, что то, что вы предложили, не является правильным. Твитер, имя и фамилия — это личные данные, которые человек вправе указывать, менять и удалять по своему усмотрению. Уникальное же имя пользователя — это всего лишь идентификатор учетной записи в базе данных. Поэтому никто и не реализует неудаляемые данные в профиле, хотя в принципе сделать это можно. Да и какая вам разница, что человек меняет свой Твиттер — поставьте nofollow на ссылки и не заморачивайтесь, пусть хоть сто раз на дню меняет.

  • Tiaurus, а каким образом имя пользователя над оставленным им комментарием, сделать ссылкой ведущей на страницу данного пользователя с его данными? Так как это сделано у вас на сайте. В моей теме имена пользователей выводятся просто в виде текста.

    • Вы хотите, чтобы при клике на имя комментатора открывалась отдельная страница с архивом его постов? Тогда вам нужно:
      — сделать обязательной регистрацию для комментирования
      — отредактировать страницу архива постов автора
      — отредактировать форму комментирования (comments.php), заменив в ней ссылку на сайт комментатора ссылкой на архив постов зарегистрированного пользователя
      Как видите, в двух словах описать не получиться. Но алгоритм я вам набросал — действуйте пошагово.

      • Мне нужно немного проще.
        Пользователи уже регистрируются на сайте, но они не публикуют посты, только оставляют комментарии. При этом у них есть страница профиля (отображается плагином Theme My Login), на странице профиля пользователи заполняют свои данные: имя, контакты, о себе и т.п.
        Так вот, если вордпресс дает возможность эти данные оставлять, значит должна быть возможность их показывать, не только администратору, но и остальным пользователям сайта. Подскажите, пожалуйста, что для этого нужно сделать, какой код прописать в comments.php и т.д.?

/* ]]> */