#16824 closed enhancement (fixed)
WP_Query does not accept post_status argument as an array. Codex says it does.
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | 3.2 |
| Component: | Query | Version: | 2.9 |
| Severity: | normal | Keywords: | has-patch |
| Cc: | d@…, bergius.tobias@… |
Description
I was having problems with WP_Query returning posts that had the trash status even though I was only specifying publish and pending in my post_status array param:
$args = array ( 'post_type' => 'my_post_type', 'author' => $current_user->ID, 'post_status' => array ( 'publish', 'pending' ), 'paged' => $paged, ); $my_query = new WP_Query ( $args );
I found this forum post where other folks had the same issue.
I headed over to #wp-dev, where contributor greuben pointed out that an array cannot be used for the value of post_status. I found the following in the current release of 3.1:
query.php line 2369 $q_status = explode(',', $q['post_status']);
(greuben pointed out that it's on line 2374 in trunk)
I was able to get the results I wanted by using a comma separated string for the value of the post_status arg (thanks greuben):
'post_status' => 'publish,pending',
I did double check the Codex, and it states that either a string or an array can be used:
"post_status (string / array) - use post status. Retrieves posts by Post Status, default value is 'publish';"
So, not sure if the Codex is wrong or the core, but I did want to bring attention to the issue.
Attachments (3)
Change History (12)
- Keywords needs-docs needs-patch added
- Milestone changed from Awaiting Review to Future Release
- Type changed from defect (bug) to enhancement
comment:2
danielbachhuber — 2 years ago
- Cc d@… added
danielbachhuber — 2 years ago
comment:3
danielbachhuber — 2 years ago
- Keywords has-patch added; needs-patch removed
- Milestone changed from Future Release to 3.2
- Version changed from 3.1 to 2.9
As it was just reported again (Related: #17014), I added a warning to the codex page.
- Resolution set to fixed
- Status changed from new to closed

The Codex is wrong. It only accepts comma-delimited. I'd like to change that, cause it's lame. Marking as a future enhancement.