wordpress добавить поле в профиль пользователя

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

В этом уроке я покажу вам два способа добавления каких-либо дополнительных полей в профили пользователей в админке WordPress.

В результате этого урока на странице профиля появятся два поля – Город и Пол.

wordpress добавить поле в профиль пользователяНа скриншоте мы добавили новый блок «Дополнительная информация» и два поля под ним – обычное текстовое и радио-кнопки.

Также напоминаю вам про свой видеокурс про натяжку готовой вёрстки на WordPress. Раньше я вёл его только оффлайн, а теперь он доступен на моём сайте!

Способ 1. Добавляем поля при помощи кода в functions.php (Без плагинов)

Можете почитать подробнее про функции, которые мы использовали в коде: get_the_author_meta(), esc_attr() и checked().

Но это ещё не всё – поля нужно сохранять ведь ещё.

Для получения значения пользовательских полей на сайте можете воспользоваться также функцией get_the_author_meta() или get_user_meta().

Способ 2. Добавляем поля при помощи плагина Carbon Fields

По плагину Carbon Fields прежде всего рекомендую вам своё руководство. Если вкратце, то он позволяет создавать поля со значительно меньшим количеством кода.

Например для создания тех же самых полей нам будет достаточно этого кода:

А вот как выглядят поля, добавленные через Carbon Fields:

wordpress добавить поле в профиль пользователяДумаю тут важно также отметить, что Carbon Fields добавляет эти поля и на страницу регистрации пользователя также.

Также у меня на сайте есть отдельный урок про добавление полей в блок «Контакты».

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Источник

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

wordpress добавить поле в профиль пользователя

Существует множество плагинов, которые расширяют возможности стандартной регистрации в блоге на WordPress. Однако, не всегда стоит пользоваться дополнительным плагином, если все, что вам от него нужно это пара лишних полей в профиле пользователя вроде аськи или твиттера. Плагинами, конечно, пользоваться проще, но, к сожалению, простых и легких плагинов расширения пользовательских профилей мне найти не удалось. Такие монстры как Cimy User Extra Fields будут только зря нагружать ваш блог, поэтому лучше воспользоваться изложенным ниже методом, основанным на редактировании файла functions.php вашего шаблона.

Чтобы добавить дополнительные поля в профиль пользователя достаточно открыть файл 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)

Дополнительные поля

wordpress добавить поле в профиль пользователяTwitter: «>

Получится что-то вроде:

wordpress добавить поле в профиль пользователя

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

Рекомендую также статьи:

Сейчас использую Simple Local Avatars, но заметил, что плагин делает слишком много лишних запросов в БД. Хочу от этого избавиться.

Сейчас использую Simple Local Avatars, но заметил, что плагин делает слишком много лишних запросов в БД. Хочу от этого избавиться.

где вы там лишние запросы то заметили?
да и какая разница сколько запросов, если они не влияют на скорость загрузки?

где вы там лишние запросы то заметили?

это уже напоминает оптимизацию ради самой оптимизации. совершенно бессмысленная, но зато оптимизация.

это уже напоминает оптимизацию ради самой оптимизации. совершенно бессмысленная, но зато оптимизация.

За вывод аватарок у меня отвечает следующая строчка:

Буду очень признателен за помощь в решении данного вопроса.

Буду очень признателен за помощь в решении данного вопроса.

да и взяли бы пример из кода статьи, что-то типа:

ну по хорошему еще бы проверку сделать на то, чтобы ‘ava’ не была с пустым значением, но это уже детали.

Я об этом думал, но так и не понял, как это срастить с моим кодом.

ну по хорошему еще бы проверку сделать на то, чтобы ‘ava’ не была с пустым значением, но это уже детали.

Пустой она не будет. Зарегистрированных пользователей не много, регистрация приватная, поэтому заполнить это поле труда не составит.

я так и не понял, что вам в итоге надо получить 🙂 и граватар и локальный аватар, да еще и указанный через поле аватар?

я так и не понял, что вам в итоге надо получить 🙂 и граватар и локальный аватар, да еще и указанный через поле аватар?

Источник

Добавляем и удаляем поля в блоке «Контакты» в профилях пользователей

В текущей версии WordPress на момент написания этого поста в блоке «Контакты» есть всего два поля – «Email» и «Сайт», поэтому в этом уроке я покажу вам, как добавить туда свои собственные поля.

Также рекомендую вам свой видеокурс по натяжке готовой HTML-вёрстки на WordPress.

Добавление полей в блок «Контакты»

Вообще у меня на сайте есть полноценный урок по добавлению полей в профили пользователя.

В результате чего у вас получится:

wordpress добавить поле в профиль пользователя

Для того, чтобы получить значения полей, вы можете воспользоваться функциями get_the_author_meta() и get_user_meta(). Например так:

Удаление стандартных полей из блока «Контакты» (старые версии WordPress)

И сразу же бросаются в глаза стандартные вордпрессовские поля, я имею ввиду AIM, Yahoo IM, Jabber / Google Talk. Но в свежих версиях WordPress этих полей и так нет!

wordpress добавить поле в профиль пользователя

Почему-то мне кажется, что мало кто их использует (именно поэтому их и удалили в последующих версиях WordPress), а теперь избавимся от них:

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Если вам нужна помощь с сайтом или разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда будем рады вам помочь!

Комментарии — 48

Как добавить поля в профиль для пользователей определенной роли?
Например чтоб отображались поля «Ваша страница вконтакте», «Номер сотового», «Скайп» в профиле только подписчиков.

вот готовое условие для подписчиков:

хотя честно говоря, не знаю будет ли это распространяться для тех, у кого больше прав, не пробовал
пиши, если что)

Это условие работает для текущей роли. Если под администратором просматривать подписчиков, то дополнительные поля не отображаются в профилях подписчиков.

да-да, согласен что для текущей, чото я тупанул, тогда смотри как будет:

подробнее это функция расписана в другом посте, ссылка есть в начале этой статьи

возможно цифру в условии придется взять в кавычки)

Привет, Миша.
Как можно удалить поля из профиля но из других групп? Например, биография или имя пользователя.
И можно ли менять местами их? Например, мои добавленные поля поставить выше стандартных?
Спасибо.

Привет, Марат, я как раз недавно столкнулся с этой проблемой, увы, там не предусмотрено никаких хуков, чистый HTML, так что удалить поля ты сможешь только при помощи CSS или jQuery

либо придется править файлы движка WordPress) но обычно когда доходит до этого, я просто ищу другое решение

из движка не нужно удалять уж 🙂
но вроде такие поля как email и last name можно вырезать только в файлах движка

Не подскажите, каким образом можно удалить в профиле «Отображать как»? Пользователи меняют это значение и в результате один и тот же человек в одних комментариях зовется по-одному, а в других по-другому. Хотелось бы жестко прикрутить к логину при регистрации.

у меня не скрылось лично. может есть ещё варианты?))

можно ещё и на jQuery, если надо, скину код))

знаешь куда эти стили вставлять же?

Привет, можешь подсказать куда это вставлять?

привет, попробуй вот так:

Добрый времени суток. Миша могли бы вы мне посоветовать как реализовать в теме в functions.php возможность изменить фон а заодно и css для стандартной формы входа? Сразу разъясню у меня там в functions.php есть уже такая возможность как замена ВП логотипа на свой который всегда лежит в теме. То есть мне не надо менять ядро cms, хотя это для меня не проблема но как вы сами понимаете после обновления всё придется делать по новой (можно конечно копировать редактированные файлы обратно после обновы), но если там произошли большие изменения и старый файл может привести к ошибкам? Тогда надо снова ручками править код.
Вот пример кода который реализовывает подмену стандартного логотипа в форме входа-регистрации на мой:

Источник

Добавляем дополнительные поля в профиль пользователя WordPress

wordpress добавить поле в профиль пользователя

Структура этой таблицы означает, что мы можем добавить произвольное количество дополнительных полей для учетной записи пользователя. Этим мы и займемся!

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

Все следующие манипуляции с кодом будут происходить в файле function.php активной темы. В результате, в профиле пользователя появятся 3 дополнительных поля.
wordpress добавить поле в профиль пользователя

Для добавления полей на страницу профиля, будем использовать WordPress хаки: show_user_profile (просмотр и изменение дополнительных полей только собственного профиля) и edit_user_profile (тоже самое, но для всех профилей), а также функцию для формирования полей.

add_action( ‘show_user_profile’, ‘add_extra_social_links’ );
add_action( ‘edit_user_profile’, ‘add_extra_social_links’ );

Дополнительные данные пользователя

Для использования этой функции требуется два параметра:

Сохраняем введенные данные

Когда происходит сохранение данных профиля пользователя WordPress, мы должны добавить собственное действие для сохранения информации в новых полях. В этом нам помогут хаки personal_options_update (сохранение данных пользовательских полей собственного профиля WordPress) и edit_user_profile_update (сохранение данных пользовательских полей чужих профилей WordPress).

Данная функция принимает 4 параметра:

Также используется функция sanitize_text_field для обработки сохраняемых данных, удаляет все потенциально опасные символы.
wordpress добавить поле в профиль пользователя

Отображение данных пользователя

Если Вы хотите отобразить информацию о пользователе не только в админке, но и в пределах вашей темы, то есть две функции, которые можно использовать:

Разница между этими двумя функциями в том, что get_the_author_meta() вернет данные, а the_author_meta() выведет данные на экране.

Чтобы оставаться в курсе свежих статей и уроков подписывайтесь на еженедельную почтовую рассылку или на новостную ленту RSS. Спасибо!

Источник

Как с помощью плагина добавить пользовательские поля в профиль пользователя в WordPress

WordPress, безусловно, очень удобная и простая платформа для создания веб-сайтов, к тому же она обеспечивает простой способ расширить / настроить существующий базовый функционал с помощью плагинов.

При работе с системой у нас часто возникает необходимость создать некоторые дополнительные поля в профилях пользователей. WordPress имеет встроенные обращения (хуки), с помощью которых мы можем выводить дополнительную информацию при отображении профиля и выполнять некоторые другие действия.

В этой статье я расскажу, как мы можем добавить дополнительные поля в профиль пользователя и сохранить эти данные в БД.

Давайте создадим плагин и назовем его « UserFBAddress ». С его с помощью в профиль пользователя будет добавляться дополнительное поле « Аккаунт Facebook ».

Для этого мы будем использовать следующие два обращения (хука):

Обращение « show_user_profile » вызывается, когда отображается страница профиля. “ personal_options_update ” — когда пользователь сохраняет данные в профиле.

Помимо этого, мы будем использовать две следующие функции:

Функция “ get_user_meta() ” используется для того, чтобы получить с использованием ключа любые данные, связанные с пользователем. Функция “ update_user_meta() ” используется для сохранения с использованием ключа данных, связанных с пользователем.

Вставьте в файл плагина приведенный ниже код и активируйте плагин:

Теперь давайте разберемся в самом коде:

После того, как плагин будет активирован, в нижней части страницы профиля пользователя вы увидите новое поле « Аккаунт Facebook ». Теперь вы можете добавлять в профили столько полей, сколько вам потребуется. Для этого вы можете использовать описанные выше функции.

На рисунке ниже показан сам плагин в действии:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *