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

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

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

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

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

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

// дополнительные контакты начало

function add_twitter_contactmethod( $contactmethods ) {
  // Добавляем Twitter
  $contactmethods['twitter'] = 'Twitter (ваш ник)';
  // Добавляем Facebook
  $contactmethods['facebook'] = 'Facebook (ваш ник)';
	
  // Удаляем Yahoo IM
  unset($contactmethods['yim']);
  // Удаляем AIM
  unset($contactmethods['aim']);
  // Удаляем Jabber
  unset($contactmethods['jabber']);
 	
  return $contactmethods;
}
add_filter('user_contactmethods','add_twitter_contactmethod',10,1);

// дополнительные контакты конец

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

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

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

10 Комментарии

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

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

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

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

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

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

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

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

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

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

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*