фильтровать сообщения пользователя buddypress пользователями пользовательскими полями «xprofile»

Привет, я изо всех сил пытаюсь выяснить, как сделать фильтр для сообщений пользователей по своим полям профиля. Example = Форма регистрации пользователей имеет поле для раскрывающегося профиля школьных лет 2017, 2018, а затем они создают сообщение. фильтровать все сообщения по этой таксономии окончания года .. так что вы можете видеть только сообщения людей того учебного года. Кто-нибудь знает о плагине, который мог бы это сделать. запутанная часть – это сообщения, которые загружаются, но фильтруются деталями-членами. два отдельных каталога.

Пожалуйста, помогите или посоветуйте

Solutions Collecting From Web of "фильтровать сообщения пользователя buddypress пользователями пользовательскими полями «xprofile»"

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

define(FIELD_ID, /* Insert field id here */); /* Save all site users */ $users = bp_core_get_users(); /* Create array for save fields values */ $user_xprofile_school = array(); /* Loop over each user and save the id and the school field value */ foreach ( $users as $user ): $index = 0; foreach ( $user as $u ): /* Check if value exists before save */ if ( xprofile_get_field_data( FIELD_ID, $u->id, 'array' ) ): $users_xprofile_school[$index]['user_id'] = $u->id; $users_xprofile_school[$index]['field_school'] = xprofile_get_field_data(FIELD_ID, $u->id, 'array'); $index++; endif; endforeach; endforeach; 

Это приведет к возврату массива:

 array([0] => ([user_id] => 1, [field_school] => 'years 2017'), [1] => ([user_id] => 2, [field_school] => 'years 2018')) 

Затем вы можете зацикливать сообщения пользователей, используя индекс field_school и user_id .

Это не вся работа, но может быть хорошей отправной точкой. Надеюсь, это поможет вам.