Webbell » WordPress хаки и советы » Добавление в профиль пользователей дополнительных полей
Правила Контакты Чтение RSS

Добавление в профиль пользователей дополнительных полей

У нас вы можете скачать бесплатно Добавление в профиль пользователей дополнительных полей .

Не пропустите комментарии к Добавление в профиль пользователей дополнительных полей.
Данный материал предоставлен сайтом Webbell.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Добавление в профиль пользователей дополнительных полей


Этот небольшой хак для Вордпресса добавляет дополнительные поля в профили пользователей. Он создаёт дополнительные удобства посетителям вашего сайта. Так же, как, например, ноутбук создаёт дополнительные удобства в вашей жизни. Однако, если ваш ноутбук сломался, то на помощь всегда придут профессионалы: ремонт ноутбуков на волжской.

Странно, но факт: простых и удобных плагинов, добавляющих в профиль пользователя дополнительные поля, в природе не существует.

Конечно, есть такие монстры, как, например, Cimy User Extra Fields, но их использование зачастую нерационально. В самом деле, зачем ставить большой и ресурсоёмкий плагин, если нужно добавить в профиль всего лишь пару-тройку текстовых полей для указания аськи и твиттера? Тем более что для их добавления достаточно просто отредактировать в шаблоне файл functions.php, вставив туда следующий код:

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="twitter">Twitter</label></th>      <td>      <input type="text" name="twitter" id="twitter" value="      <?php echo esc_attr(get_the_author_meta('twitter', $user->ID)); ?>"       class="regular-text" /><br />      <span class="description">Пожалуйста введите ваш Twitter логин.      </span>      </td>  </tr>  <tr>      <th><label for="icq">ICQ</label></th>      <td>      <input type="text" name="icq" id="icq" value="      <?php echo esc_attr(get_the_author_meta('icq', $user->ID)); ?>"       class="regular-text" /><br />      <span class="description">Пожалуйста введите ваш ICQ номер.</span>      </td>  </tr></table><?php }


Данный код добавляет в профиль пользователя поля ICQ и Twitter. Аналогичным образом можно добавить и другие текстовые поля.

Для сохранения значений полей в файл functions.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, 'twitter', $_POST['twitter']);    update_usermeta($user_id, 'icq', $_POST['icq']);}


Если есть необходимость использовать дополнительную информацию из профиля на страницах самого блога, в файл functions.php нужно добавить ещё одну функцию:

function my_author_box() { ?>  <div class="author-profile vcard">       <p class="author-name"><?php echo get_avatar(get_the_author_meta('user_email'), '16'); ?>      Автор статьи: <?php the_author_posts_link(); ?></p>       <?php if (get_the_author_meta('twitter')) { ?>          <p class="twitter">            <img src="http://www.wordpressplugins.ru/wp-content/themes/wpplugins/images/twitter.png" width="16" height="16" />            Twitter: <a href="http://twitter.com/<?php the_author_meta('twitter'); ?>"><?php the_author_meta('twitter'); ?></a>          </p>      <?php } ?>       <?php if (get_the_author_meta('icq')) { ?>          <p class="icq">            <img src="http://web.icq.com/whitepages/online?icq=<?php the_author_meta('icq'); ?>&img=5" />            ICQ: <?php the_author_meta('icq'); ?>          </p>      <?php } ?>   </div><?php }


А в шаблоне, в нужном файле (к примеру, в файле single.php), вставить вызов этой функции:

<?php my_author_box(); ?>


В итоге получится что-то подобное:

Добавление в профиль пользователей дополнительных полей


Стоит заметить, что добавлять новую функцию my_author_box() именно в файл functions.php необязательно: её можно вставить напрямую в файл шаблона, и всё будет работать. Однако тогда у нас не получится вызвать функцию в любом месте шаблона всего одной строчкой, и к тому же файл шаблона окажется нагруженным избыточным кодом.


Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

«    Февраль 2018    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
Яндекс Апдейты
↓ Апдейты Яndex тИЦ
18.11.2017 ←Последний
04.11.2017
16.08.2017
↓ Апдейты выдачи Яndexa
23.02.2018 ←Последний
20.02.2018
18.02.2018
↓ Апдейты ЯКаталога
16.01.2018 ←Последний
20.12.2017
15.12.2017
Мы рекомендуем
Заработай на сайте!
Gogetlinks-Биржа вечных ссылок для сайтов с Тиц
Getgoodlinks-Биржа вечных ссылок для сайтов с PR


Опрос на портале

Сколько у вас сайтов?

Больше 20 сайтов
От 10 до 20 сайтов
От 5 до 10 сайтов
От 1 до 5 сайтов
Нету сайтов

Наш архив
Облако тегов
ajax, Build, DataLife, dle, dle 9.0, dle 9.2, Engine, Final, Google, Opera, Release, RSS, WordPress, адаптация, административная панель, бесплатно, виджет, Игровой, кино, комментарии, модуль, новости, Новый, Оригинал, парсер, парсер поисковых систем yandex google рассылка комментариев по DLE Joomla Community спаммер раскрутк, Переходы, плагин wordpress, сайта, сайтов, сбор данных телефонов адресов email контактов потенциальные клиенты BlackSpider универсальный сборщи, тема, тематики, универсальный, хак, хак wordpress, Шаблон, шаблона, Яндекс

Показать все теги
Последние комментарии
Популярные файлы

Информация!
Уважаемый посетитель! Присоединяйтесь к нам
в Твиттере.