Php get#u posts()不';当寻找某个帖子类型时,不要返回帖子

Php get#u posts()不';当寻找某个帖子类型时,不要返回帖子,php,wordpress,Php,Wordpress,我目前有相同的参数来查找某个帖子: $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篇文章。现在,还

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

$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篇文章。现在,还有另一个自定义的post类型(使用Pods框架Pods.io制作),它有一个不同的名称,除此之外,应该是完全相同的。我应该在查询中使用的唯一区别是将
post_类型
更改为
begraafplats
,并将
post_状态
设置为
draft
,但是,这会导致返回空数组。我知道其中一篇文章的ID,因此使用
get_post()
查询了该文章,并得到了预期的结果

这为我提供了以下输出:

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_类型与我在
$args
数组中使用的相同,并且post类型是draft,正如预期的那样。然而,它似乎没有给我带来任何结果

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

你可以得到所有特定的职位类型如下

$post_type='home_block';
$arg=数组(
“post\u type”=>$post\u type,
“发布状态”=>“发布”,
“每页发布”=>“4”,
“来电者获取帖子”=>“1”
);
$my_query=null;
$my\u query=新的WP\u查询($arg);
如果($my\u query->have\u posts()):
while($my\u query->have\u posts()):
$my_query->the_post();?>

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

代码中可能有错误,输入错误,但您只显示了有效的代码。执行查询时,可能尚未注册自定义帖子类型。使用
检查。使用
get_post_types()
检索所有帖子类型时,类型
begraafplaats
也会正确返回。我不认为是这样的根据这个页面,你不能使用
get_posts()
这正是他想要的,一种特定类型的帖子。这个代码让所有帖子都属于特定的帖子类型。问题是这个自定义帖子不是默认的自定义帖子。他必须使用
Pods
classes提供的功能你应该提供“Pods”处理事情的方式
$post_type='home_block';
              $arg=array(
                'post_type'=>$post_type,
                'post_status'=>'publish',
                'post_per_page'=>'4',
                'caller_get_posts'=>'1'
                );
              $my_query=null;
              $my_query= new WP_Query($arg);
              if($my_query->have_posts()):
                while($my_query->have_posts()):
                    $my_query->the_post();?>
                     <div class="service-list-box">
                            <div class="service-image">
                               <?php the_post_thumbnail();?>
                            </div>
                            <div class="service-list">
                             <?php the_content();?>                            

                                <?php the_title();?>
                            </div>
                        </div>                   

                   <?php  endwhile;
                endif; ?>