web-dev-qa-db-ja.com

私のブログからの最近のコメントのみ

ネットワーク上の各ユーザー(Buddypress)に固有の最近のコメントのリストを作成します。

これまでのところ私の一番のアイデアはかなり怠惰です:DBすべてのユーザーのブログを検索し、日付を比較し、日付でトップ10を選択します。私にとっては、サーバーにとって非常に大きな負荷に思えます。

任意の代替案およびより良いアイデア? :)

ありがとうございます。

2
konzepz

サイトごとに異なる投稿とコメントの表があるので、実際は違います。

そうは言っても、最初のラウンドで物事をスピードアップするためにユーザーメタでコメントしたブログIDを追跡し、それ以降のラウンドで物事をスピードアップするためにフォーマットされた結果を別のusermetaにキャッシュすることができます。これらは追跡され、保存/削除投稿/コメントを無効にするのに十分なほど簡単です。

1

WordPressのコメントテーブルを照会するのではなく、BuddyPressのブログ追跡機能を使用している場合は、アクティビティストリームに「new_blog_comment」の更新のみを照会することをお勧めします。アクティビティストリームはすでにこの情報を記録し、1つのデータベーステーブルに集約しています。
何かのようなもの:

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/ もご覧ください。

0
Paul Gibbs

アクティビティフィードには、buddypressサイトに登録されているすべての人のブログからのコメントが表示されます(プルダウンメニューに最近のコメントが表示されます)。

0
edelwater