[wp-hackers] limiting tag clouds to custom post type

Andrew Nacin wp at andrewnacin.com
Wed Jun 8 18:17:36 UTC 2011


On Tue, Jun 7, 2011 at 2:05 PM, Otto <otto at ottodestruct.com> wrote:

> Post types are part of the posts themselves. So you have to query
> against the posts table.
>
> The only "efficient" way to do it is going to be with a custom SQL
> query. Join the posts table with term_relationships, term_taxonomy,
> and terms, selecting based on the custom post type.


Actually, what you could do is rely on WP_Query's term caching abilities.

When WP_Query is run, it triggers three main queries: grabbing everything
relevant from wp_posts, wp_postmeta, and wp_terms/wp_term_taxonomy.

You could then loop through and calculate all of the term data -- which
would all be in cache -- and then build a tag cloud.

And all you're running is three queries at O(1) complexity. Much more
efficient than the code there, and more stable than a direct query.

Nacin


More information about the wp-hackers mailing list