Intereting Posts
Удаление WordPress <p> тегов? Подключиться к основному запросу с фильтрами на основе настраиваемых полей Страница закрывается с использованием общего кэша w3 Фильтровать сообщения несколькими дочерними категориями checkbox Использование пользовательского поля в Google Map Встраиваемый код работает в одной теме, а не в другом Количество сообщений, опубликованных за один конкретный день: более легкий способ Миграция хостов, 500 ошибок и проблем с подключаемыми модулями Специальное сообщение в блоге, которое будет назначено в качестве целевой страницы моего блога wordpress Добавить сообщение об ошибке на странице с защитой паролем ТОЛЬКО при вводе пароля неверно Комментарии не включены для пользовательских типов сообщений Разрешить настраивать пользовательскую роль только для редактирования определенных пользовательских полей Выбросить пользовательские поля в комментариях Заголовки списков сообщений вместо отображения основного навигационного меню Альтернативы site_url () и get_template_directory_uri () нажмите на картинку «Галерея», но изображения не отображаются

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

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

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

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

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 .

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