get_posts()不会';t在查找某个post_type时返回posts


get_posts() doesn't return posts when looking for a certain post_type

我目前有相同的args来查找某个帖子:

$page = 0;
$args = array(
    "posts_per_page" => 10,
    "offset" => $page * 10,
    "post_type" => "graven",
    "post_status" => "publish"
);
$posts = get_posts($args);
var_dump($posts);

这将正确地返回按日期排序的10个此类型的第一个帖子。现在,有另一种自定义帖子类型(使用Pods框架Pods.io制作),它有一个不同的名称,除此之外,应该完全相同。我在查询中应该使用的唯一区别是将post_type更改为begraafplaats,并将post_status设置为draft,但是,这会导致返回一个空数组。我知道其中一个帖子的ID,所以我使用get_post(<the id>)查询了该帖子,并得到了我预期的结果。

这给了我以下输出:

WP_Post Object
(
    [ID] => 3935
    [post_author] => 1
    [post_date] => 2015-08-21 04:25:16
    [post_date_gmt] => 0000-00-00 00:00:00
    [post_content] => 
    [post_title] => R.K. Begraafplaats St. Theresiakerk (Eindhoven)
    [post_excerpt] => 
    [post_status] => draft
    [comment_status] => closed
    [ping_status] => closed
    [post_password] => 
    [post_name] => 
    [to_ping] => 
    [pinged] => 
    [post_modified] => 2015-08-21 04:25:16
    [post_modified_gmt] => 2015-08-21 04:25:16
    [post_content_filtered] => 
    [post_parent] => 0
    [guid] => http://example.com/?post_type=begraafplaats&p=3935
    [menu_order] => 0
    [post_type] => begraafplaats
    [post_mime_type] => 
    [comment_count] => 0
    [filter] => raw
)

正如您所看到的,返回的post_type与我在$args数组中使用的相同,并且post类型是draft,正如预期的那样。然而,这似乎并没有给我带来任何结果。

有没有一个合理的解释来解释为什么这不起作用?

我已经使用$wpdb使用裸MySQL查询解决了这个问题。这不是一个优雅的解决方案,然而,我现在已经掌握了我需要的所有信息。