[wp-hackers] hooks on the Loop

David Chait davebytes at comcast.net
Thu Jul 13 05:13:05 GMT 2006

Try it in two passes -- at least that's how I would...  Query the comments 
table for unique/dinstinct post ID, order by comment time, limit N.  Then 
query the posts table with all the standard rules/where/filters, with the 
addition of "AND ID in (...comma'd list of IDs from the comments query...)". 
Well, something like that.  You could likely do it with a join, but would be 
N*M at the least...  A subquery is what you really want, do it all in one, 
optimized, query call -- but only more recent MySQL supports that (if I 
remember correct).

If you wanted to 'plug it in' to the current system, depends on the desired 
result.  Hooking the main query setup, doing the comments query yourself, 
then adding the ID list to the WHERE clause... well, it ain't pretty, but it 
should work.  If you then 'paged' through the system normally, you'd want to 
run the comments query again but do a limit X,Y to jump through the results. 
(I believe I do something similar in a number of the CG-Referrer filtered 
queries, but haven't looked at the code in a while!)


----- Original Message ----- 
From: "Aaron Brazell" <emmensetech at gmail.com>
To: <wp-hackers at lists.automattic.com>
Sent: Wednesday, July 12, 2006 7:58 PM
Subject: Re: [wp-hackers] hooks on the Loop

| Thanks, Andy. I appreciate it. But you know... I've dissected WP_Query and
| can't find a real reasonable way to get posts that have recent comments.
| Heck, even if there was a way to pass a direct query to query_posts() I
| could work up some query similar to the dozen and a half "recent comments"
| plugins, but I don't even think I can directly pass SQL.

More information about the wp-hackers mailing list