Изменение поиска участников BuddyPress для включения добавленных полей профиля

27 февр. 2012 г., 21:48:20
Просмотры: 2.85K
Голосов: 0

Я добавил поле "Компания" в профили участников через плагин s2member. Однако это поле не включается в поиск "участников". Например, когда я ищу по названию компании (когда я знаю, что название компании является частью информации профиля участника), поиск показывает "нет результатов".

Как сделать добавленные поля профиля доступными для поиска?

0
Все ответы на вопрос 2
3

Поля, добавленные S2Member, скорее всего, хранятся в таблице wp_usermeta, тогда как поиск участников в BuddyPress (BP) осуществляется по данным, хранящимся в таблицах xprofile BP. Наиболее простое решение — использовать поле профиля BP для данных о 'компании'. Если у вас уже есть данные участников в wp_usermeta, вам придётся написать скрипт для переноса (или копирования) этих данных. Альтернативный вариант — модифицировать поисковые запросы BP, добавив соединение с таблицами usermeta.

12 мар. 2012 г. 22:29:22
Комментарии

Также - вы можете сделать поле BP обязательным в разделе Консоль > BuddyPress > Поля профиля > Редактировать.

Boone Gorges Boone Gorges
12 мар. 2012 г. 22:30:30

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

Ray Gulick Ray Gulick
13 мар. 2012 г. 02:12:20

По умолчанию в BP регистрация устроена так, что поля из Группы полей профиля 1 (которая по умолчанию называется 'Base') отображаются во время регистрации - независимо от того, обязательные они или нет. Поэтому самое простое решение - убедиться, что ваше поле Company находится в группе Base.

Можно показывать несколько групп профилей (или группу, отличную от Base) во время регистрации, но для этого потребуется немного доработать шаблон регистрации register.php. В будущем было бы удобно, если бы BP позволял передавать несколько значений profile_group_id в bp_has_profile(): https://buddypress.trac.wordpress.org/ticket/4075

Boone Gorges Boone Gorges
13 мар. 2012 г. 13:43:14
1

Если вы хотите, чтобы BuddyPress мог выполнять поиск по профилям, лучше всего использовать встроенные возможности Extended Profile для добавления дополнительных полей в профили пользователей. Затем вы также можете установить плагин BP Profile Search, чтобы включить довольно широкие возможности поиска.

(Я только что установил плагин BP Profile Search сам и пока не разобрался, как именно отображать форму поиска, но он кажется достаточно гибким в настройке, судя по экрану параметров — нажмите на значок шестерёнки, который появляется в левой панели управления после установки плагина.)

8 мар. 2012 г. 23:41:09
Комментарии

Да, но мне нужно сбалансировать это с возможностью обязательного заполнения поля при регистрации. Возможно, я что-то упускаю, но не вижу, где я могу это сделать с помощью дополнительных полей профиля BP.

Ray Gulick Ray Gulick
9 мар. 2012 г. 04:40:30