The client I'm working with have thousands of articles and media ( audio/video ) files. To WordPress, all are posted by Author ID 1, which we named as STAFF.
All the content though in reality has been created by various people and sources, certainly not by the STAFF.
To keep that info ( who created the content or where the source is ), I used a non-hierarchical custom taxonomy called "source". if the source happens to be an institution name I tagged the content by the institution name as follows.
Example:
source: CNN source: Washington Post
And if the source happens to be a person, I used a prefix "by " in front of the name.
Example:
source: by anderson cooper source: by jon stewart
Of course, the content has been tagged and categorized, accordingly.
Now, the question is how to effectively find out things like who's the top 5 source's in category XYZ?
I don't think this can be pulled by using the wp_query args - by tapping into the advanced tax query's section, cause wp_query args eventually returns posts only. Here we are asking terms in return.
One possible way for this is the following
take the XYX category
go thru all the XYX categorized posts - one by one - particularly paying attention to the source data in those posts and while going thru them, dump each source term id encountered in those posts into a temporary table. ( for this you will use wp_terms, wp_term_relations and wp_term_taxonomy and that your creation mySQL table)
when done with going thru all the posts in that category, you finally switch your attention to the temporary table
and get a summary on that table, by getting ( source ) term counts after a group by and finally get the top 5.
but getting all that in a single statement? that ain't my cup of tea yet.