﻿id summary reporter owner description type status priority milestone component version severity resolution keywords cc focuses 14777 "Adding ""fields"" to arguments array for get_posts()/query_posts()/WP_Query()" mikeschinkel "Hi all, I find myself more and more often needing to get a list of post IDs so I can call another WordPress database API function to include or exclude those posts. Calling `get_posts()` on a potentially large number of records and passing all the fields (especially `post_content`) between MySQL and WordPress is hugely inefficient when I only need the one ID. My two (2) options are: 1.) '''Code is directly in SQL.''' This is easy but I know it's definitely not a best practice and I would like to use the WordPress API wherever possible. 2.) '''To use a `post_fields` hook'''. Problem is that those are global and I have to start wrapping logic around my code to ensure I don't accidentally break some plugin or some other part of WordPress (this approach is much like trying to secure a server by starting with all the attack vectors open and then trying to close them all.) So I'd like to propose we simply add `""fields""` as a recognized argument for `get_posts()`, i.e. {{{ $posts = get_posts(array( 'fields' => 'ID,post_title', 'post_type' => 'movie', 'post_status' => 'publish', 'order' => 'ASC', 'posts_per_page' => -1 )); }}} I know I could make the same argument for `joins`, `where`, `orderbys` et. al. but I'd argue this is enough of a special case it could really use some early attention. For a query on the home page of a high traffic site that changes often enough to not be able to be cached this tiny change could make a major difference in performance. If you'd like to see a use case here is one: - [http://wordpress.stackexchange.com/questions/1140/removing-duplicate-custom-taxonomy-terms-from-within-a-dropdown-select Removing Duplicate Custom Taxonomy Terms from within a Dropdown Select?] Unfortunately I still struggle with creating patches even though I have done it a few times in the past but each time I seem to have to start relearning from scratch. I seem to have a mental block for some reason on patches ([http://wordpress.stackexchange.com/questions/990/ '''can someone help me with this?''']) so I haven't gone ahead and written a patch but will tackle it if I get the task blessed. -Mike " enhancement closed normal 3.1 Query normal fixed