Последние комментарии только от моих блогов

Я хотел бы создать список последних комментариев, характерных для каждого пользователя в моей сети (Buddypress).

Моя лучшая идея до сих пор довольно хромая: DB Query во всех блогах пользователя, сравнить даты, выбрать топ-10 по дате. Для меня это слишком тяжелая загрузка для сервера.

Любые альтернативные и лучшие идеи? 🙂

Благодаря!

Solutions Collecting From Web of "Последние комментарии только от моих блогов"

Есть разные должности и таблицы комментариев на сайт, так что на самом деле.

Тем не менее, вы можете и должны отслеживать идентификаторы блога, которые они прокомментировали в метателе пользователя, чтобы ускорить работу в первом раунде, и кэшировать отформатированный результат в отдельной usermeta, чтобы ускорить работу в последующих раундах. Они достаточно просты, чтобы их отслеживать и делать недействительными при сохранении / удалении сообщения / комментария.

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

Если вы используете функцию отслеживания блога BuddyPress, а не запрашиваете таблицы комментариев WordPress, я предлагаю вам запрашивать только поток активности только для обновлений «new_blog_comment». Поток активности уже записывает и агрегирует эту информацию в одну таблицу базы данных.
Что-то вроде:

if ( bp_has_activities( 'user_id=1&object=blog&action=new_blog_comment' ) )

См. Также http://codex.buddypress.org/developer-docs/custom-buddypress-loops/the-activity-stream-loop/