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; ?>