2013-06-18 3 views
0

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

Я знаю, что при использовании bp_has_members вы можете передавать пользовательские значения в свою строку запроса. Я сделал это успешно, прежде чем использовать «& include = 1,2,3», где 1,2,3 - это строка user_ids, которую я смог фильтровать по некоторым критериям. При использовании этого оператора include и использования стандартных способов, которыми Buddypress заказывает участников - по последним активным, алфавитным и новейшим зарегистрированным, это отлично работает. Но пытаясь отсортировать пользователей по рейтингам, мне пришлось поместить эти идентификаторы пользователей в другом порядке. Предположим, что порядок пользовательских оценок 2> 3> 1 - я прошел в «& include = 2,3,1» без эффекта.

Кто-нибудь знает, есть ли способ заставить петли членов bp выплевывать членов в определенном, заранее определенном порядке? У меня есть сам заказ, готовый идти, просто хотел бы, чтобы приказчик выполнил заказ.

ответ

0

Это очень трудно сделать прямо сейчас. Но BuddyPress 1.8 должен содержать дополнительные файлы и крючки в BP_Query (который используется для получения членов/групп), и я думаю, что это будет возможно.

BP 1.8 beta was released - посмотреть. В соответствии с этим сообщением:

bp_has_groups() и bp_has_activities() теперь принимают параметр meta_query (# 3521). Это означает, что вы можете отфильтровать запрос группы или активности на основе groupmeta или activitymeta, используя тот же самый синтаксис meta_query, знакомый с WP_Query.