#16824 closed enhancement (fixed)
WP_Query does not accept post_status argument as an array. Codex says it does.
Reported by: | goto10 | Owned by: | ryan |
---|---|---|---|
Milestone: | 3.2 | Priority: | normal |
Severity: | normal | Version: | 2.9 |
Component: | Query | Keywords: | has-patch |
Focuses: | Cc: |
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 (14)
#1
@
14 years ago
- Keywords needs-docs needs-patch added
- Milestone changed from Awaiting Review to Future Release
- Type changed from defect (bug) to enhancement
#5
@
14 years ago
As it was just reported again (Related: #17014), I added a warning to the codex page.
#10
@
7 years ago
- Type changed from enhancement to defect (bug)
This issue persists in 4.9.4
Nevermind no it doesn't :P
#11
@
7 years ago
- Type changed from defect (bug) to enhancement
@info2grow This ticket was fixed 7 years ago. WP_Query
does indeed accept the parameter as an array.
If you require code support, the WordPress forums are the place to go: https://wordpress.org/support/
If you're experiencing a bug in WordPress or would like to propose a new feature/enhancement to an existing functionality, please create a new ticket on this Trac instead.
The Codex is wrong. It only accepts comma-delimited. I'd like to change that, cause it's lame. Marking as a future enhancement.