web-dev-qa-db-fra.com

Commentaires récents de mes blogs uniquement

J'aimerais créer une liste de commentaires récents, spécifiques à chaque utilisateur de mon réseau (Buddypress).

Ma meilleure idée à ce jour est plutôt boiteuse: DB Query sur tous les blogs d'utilisateurs, comparer les dates, sélectionner le top 10 par date. Pour moi, cela semble une charge trop lourde pour le serveur.

Toute alternative et meilleures idées? :)

Merci!

2
konzepz

Il y a un tableau différent de commentaires et de commentaires par site, donc pas vraiment.

Cela dit, vous pouvez et devez garder trace des identifiants de blog qu’ils ont commentés dans une méta utilisateur pour accélérer les choses lors du premier tour, et mettre en cache le résultat formaté dans un utilisateur distinct pour accélérer les choses lors des tours suivants. Celles-ci sont assez faciles à suivre et à invalider lors de la sauvegarde/suppression d’un post/commentaire.

1
Denis de Bernardy

Si vous utilisez la fonctionnalité de suivi de blog de BuddyPress, plutôt que d'interroger les tables de commentaires de WordPress, je vous suggère d'interroger le flux d'activité uniquement pour les mises à jour 'new_blog_comment'. Le flux d'activité enregistre et regroupe déjà ces informations dans une table de base de données.
Quelque chose comme:

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

Voir aussi http://codex.buddypress.org/developer-docs/custom-buddypress-loops/the-activity-stream-loop/

0
Paul Gibbs

Le flux d'activité affiche les commentaires de tous les blogs de toutes les personnes inscrites sur le site buddypress (menu déroulant afficher les commentaires récents). Pourquoi ne pas le dupliquer, le trier et le transférer dans un widget à l'écran?

0
edelwater