Explanation of the “posts_join” and “posts_fields” filter hooks?
When you use one of the methods to query for posts (query_posts(), get_posts() or WP_Query object) arguments you provide are processed and turned into SQL query. This happens in WP_Query->&get_posts() method. Since arguments are not omnipotent there are a lot of hooks in there that allow to modify or override parts of resulting SQL query. … Read more